<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>战略学小记（小更） | 游心随笔</title><meta name="keywords" content="本文章需要输入密码查看"><meta name="author" content="Ryan"><meta name="copyright" content="Ryan"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="战略">
<meta property="og:type" content="website">
<meta property="og:title" content="战略学小记（小更）">
<meta property="og:url" content="https://allenhugo.gitee.io/craft/Strategics.html">
<meta property="og:site_name" content="游心随笔">
<meta property="og:description" content="战略">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://allenhugo.gitee.io/img/cover25.jpg">
<meta property="article:published_time" content="2021-01-21T01:48:56.000Z">
<meta property="article:modified_time" content="2021-01-11T01:48:56.000Z">
<meta property="article:author" content="Ryan">
<meta property="article:tag" content="战略学">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://allenhugo.gitee.io/img/cover25.jpg"><link rel="shortcut icon" href="/allenhugo/img/favicon.ico"><link rel="canonical" href="https://allenhugo.gitee.io/craft/Strategics"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/allenhugo/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/allenhugo/',
  algolia: undefined,
  localSearch: undefined,
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isanchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: '战略学小记（小更）',
  isPost: false,
  isHome: false,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2021-01-11 09:48:56'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    })(window)</script><link rel="stylesheet" href="/css/darkred.css"><link rel="stylesheet" href="APlayer.min.css"><div id="aplayer"></div><script src="https://cdn.jsdelivr.net/gh/radium-bit/res@master/live2d/autoload.js" async></script><script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js" async></script><meta name="generator" content="Hexo 5.4.0"><link rel="alternate" href="/allenhugo/atom.xml" title="游心随笔" type="application/atom+xml">
</head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" src="https://pic3.zhimg.com/v2-96ea43b46c46cb31e7e39154bd77cad2_r.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/allenhugo/archives/"><div class="headline">文章</div><div class="length-num">1</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/allenhugo/tags/"><div class="headline">标签</div><div class="length-num">2</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/allenhugo/categories/"><div class="headline">分类</div><div class="length-num">1</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/allenhugo/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="not-home-page" id="page-header" style="background: linear-gradient(to right, rgb(89, 2, 77), rgb(88,81,98));"><nav id="nav"><span id="blog_name"><a id="site-name" href="/allenhugo/">游心随笔</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/allenhugo/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/allenhugo/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="page-site-info"><h1 id="site-title">战略学小记（小更）</h1></div></header><main class="layout" id="content-inner"><div id="page"><div id="article-container"><div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="Oh, this is an invalid password. Check and try again, please." data-whm="OOPS, these decrypted content may changed, but you can still have a look.">
  <script id="hbeData" type="hbeData" data-hmacdigest="d62067d2dea21c10dc1ac87c4f480b77d3fd1abe7c1379b9604c7547348153c1">f56037dcdb70fdd508183237b3537e416d1238a0eeff8b73b07c7d6f027bf2228e94f1e8c55b9c947cc9bb8d65c84d53c599ab0c954377ba901408b44bff7d63731ad188fdd55c8f39ee37b0df046fb7bcbc959a631b6788a331b3e25fb5cddfd87446db7ae9ca32405dcea6af9977ad2758dcb1ef97512b3c899b29d09e0ce1eb245c4236964957995e85b6934b68ad632440fd1b613ef9a4c13d01d12b40994c0b61c571614ce0568139c10986ab9546c614f73678a95d9ec6bccd71f6eb2e3acc7fd6cae412eeb3798610b9252e037261f5daccfd74936cbea724708ccff3f32dcc4dcd78baa65d879f0c3a5f0a7a07c67ff71514e03ae3462796b715de458d88e9155860be7aeba380270cd9625c1f347f3c904970c042a2240d4a942bff3d5035caed6377226e1bf89dcfa3d83f9a23d2788bd5ac433114f30b517a45dc0d7e63dfe2989038900868d6b537e72e85d7abd870945731c05af576081c7010137e6dcbb8f57c32c070ab44194c22f3ac055b0f072287f80b57826d7c472269085ee5de46eea97c8afd69a99a207e3e8e33f41f522bcfa3ecdb88cdc7a63a509ecca229013809d678f367106380ca1911001da00d8b4b5bb8caa31c8b7b3a72a0546582390acbee579ec209214c0811c9928bb913aa7248046f6870c09fa7d13573251be74c551eef58c277d6a29ec6034e11c92dd584d2d7de0c4632fd7e5b5f94037d2bb963a267fe2d7174f5ee5fdf019b3a11a68b5bf93584db7135691f8bf0221962baebaf6d7d6cbd41c36eb4b0958ed9ce8823a4e8d3f99d92eae1b1b2f098f1c19307f9925bf737db6a1c0d5996adeaec1c5d2bdb958a92669deaa8ffee9e883707ee52c0d2c03eeef2d2b38e0aa0d2f635e22b34ebd0e5a0d3d63b9ee604f2c52fe9b02f85d4129eb2f79b3a7e08f6d0dfbf0862b689a7492755150ac6c22c89a60d21731957e5b141da474da275d39f8db2e17acd33be9a610feae1fb72e4f90290bdba7aefb24b58cb83367e7b241fb50593b3bebb6fab835b316ad4ec6b05e1444600f43e5e0e99328180167042bfb96e0d08ab2e46320cecdcf0602e4937ff029023bb34e876f000556f72262a91c2b429e27d687c2a76876c0e7bbd04463d7d07461998c5b6fe11ff6030d6f525e2c637ee6d477f5e6b195c56490a5afdd4493558e5e0e69e8a241a88e6f329df2ed588ec98fd5fdd7a8c6a27c17ed87937eeab59a805e62b346a00e1f9ead3866917d02093401c113fd9ada7b539ac2ba6b492754812df1d153030a570d521d8313143c1bb59343fa7d6276aaca1c9d09fc164a39f42e11397e1ca03bd179eeef4ef82f16f4624932f4b1a1da31e7210f1d0ab6d3a79f84b7e1d9eb65607babeb72cc924fe3226923f43f6ff5fe8bc55f472c350735806970168d4f23a9077f6ec415405b70363779774b9ed6260079cda65c9ea88ae2066e95f27188b12d2249abe49bb602ce795fc2ee5a70bda869eab2883a51bf78fc25e9cb14902401f36caa20f39a40e3fedf483aa6d73345f5ffb3bbc84cc9e016f723193a0b2d1199b2827a7ac55c147df4d81f37c6730469cc71c44d3444507d21a27e8a3572d2c5172ee58e9becd11a80c2cffa8b36af4a4f5f7e5d9d7fe05ad052a296b5e8c8198a9b1c2a741b09cd58d344d3ac66850f6ccdc04b7e2c1e43b6d7d7922f2fb8ff962538a58c2a71dbe7938ac149e0dfd7c4ea0bf075286d24d488abdfe66b393f9d2b02d365b5e4b4dc10a3234c6de5be4f57191ac2f94a1f7226ba69659aa99c75cbacfd5b628efc3dd1a2ea7e0cf0c2e8c7345cdec631298125779fe9bc698b9a825f8a080488aba9a91a9d1e2dc296e5709109323988194fde6735b04298540b520338c5a95621c14adee15278812b09581f7a15b33e687831a6c51426d6852a40ac32cc4e6d8fafe2cc6a3bb8b68f18eb9b982bd3eaa30c6a608bbec649a2c7de0b5f3161d3fc40c39a6e0c258ddd410824eb3e262e35ed60d61255be9f77e8e4a671259fbd3382e8492d32572f57782933d68c58df0bf4c9bb64cc480e8c73704f0784ebc76c5d0fc6f2ae569cfe57f0b4555e3cd8e35f967f45fc559ac01d279fc0f881237fa77a70e0cb9662fdf1d6240deb816d93456caef18a0e8eaddbd2899f457eb78fde660fa8ed985ae7ad2478a2e598d56f58519bfe198c36dc87f0702822be555816416063602230664a6f1fd66cf1564e76844871840d57946ed5167b1b78c38a2c5a58b5da5d6d9131a8e7909c87eef9b23066f6b0d5775475979cac2fff22c0e829825b6ce4ee8ed1fe98c096a6bd27ed82c7cc7416c76fe38c0570ce53989d029838101cfbe2f4d8cc9da90f184cf6d594c1084615a8c3e1c0ba79daf5c05080fc32bd08c7827beb3ad4c85432090e7429fd6d546a535ab59d297ed6df07731e7e24859cdc401b6fc609276ed48885c8cee4d3398a5ad2e420daaac86dd26d9e74b5e2341799cc9eafa347f44dcf02a77126f805124e5f1e953f3c88ed50a47f8da0c5705d0d8c97fa58478e0e76c6d107d0fc888562352cae3c32172ba5d04ee63be9c5d66d5de97e73695ccb21a8db9a40e65ff67989a949ac36d9eb86986829d95451075b973c8f8e630546c8a766b29192e591b8d025133dec1f341b788dd4bb20b01e1d7def740d28d8e48b6d95fcf656e8c3570c6ef758764f601cc1d9e6e547bc951c705469d136af3f6ec6b079395bbacf670cd1efd7e8ce58f5ab31fa5c917f0ff870567aa39386798ffed073c5f687a44060554eec656f2c590245658e41673d83d70770a3f3c1157dc4890d4ba6be61a8f3b04330e97bdd929d92d91ba06096e976cfe703f9b0771fb31a435a17d2cec8a9a4c7f66178f8ac73fa5de3b59e5a32d499255b61760f9e7152cf2e471e6804de0050ea9a9e0758a4a63184d2524c860e101d9ea5b6be9f85fc855e1e4be6d431056b212d0f0051c3ff938ae1659839bab9462f91a486e1983ffb589ef1d0a3ffae0431078b37bfc214737670b5e0aa455dd456a2214d80bf20686ce623f31589bde6017c9e8a0a1a1e40db134abe32eb2ae7282a39127f34df628678da199d4b103be5881c2d862664e87613cd0b1b7a5ff4cd2019697a80752c78342e253b774ca5c13b0917d7f9721feff5855bdb1a38c4c26778c5ceb6c060e5977a72e58df21463655b80582b8471e6e7b556b2ebc55a3bc92d3b8c21ad1133dd7e4d70dcc1fbaebc2aedda579042590eecbd8f6b248d090c0898ab711ae7a4c83e921e03164d4302225d196fa3782b44efabba470c84236db19cc0d9af3cebca06957b7c83f1aa3218471510720a1edc6e00a2e1f0fa812f3c36f7850d65e640c64454ff7c8f1aaddb053ec2f48b34f989340a2acf72d4dba00d5cd459f5ace81c47173852a77a326146ecb43dcdee99819319001eba9127a58da09d3310ad90bab580d81267aacc45046299403644702d2b2831dfdc9cf99f0f4f376a52675ab0748f59173995180809403f63456614cc5eaee45b4abd71b48ffd14aa988c03141e8881e06b328902beba0eb4a5795eaf1024e36da5f336525dd2c876fca0ba9ca798546265ff34ce76e4ec9bc0834ddae81ea21feb31cc32c7a085cbd9458c0650940f229871963f2ebb339469e258e1fcd00d7efd8bd8c40041872f11035486561eae38128e1e2b24f9959545f366705882b3f405a052a0da282c8bf7fdb33f05a17637426fc5c822173576a5b14e3b5c281681a5e683e403fabfabacf2f84ceae02de5c2a13669b48dec1354583650645b9809ad5877283fd347ea0db6d87a3e4fa902b9cb2ed23b79886503f399496a6b4d377c549e0b9beb0b74a8a9700bf4105103586e1b2aed970acc6cd5379c755121b2c6b2bba9811f417476a05e60f31f82328df994f4027acbee573d602a375eb8e45fa37760685d6a1307c616192dc97c28b6fff2ce0bbace07df3881978f82f74d5846d264c4859060aa3005ebaceba881f7e98b24fbe2145a023dc63404d52ce4e55325ad7df4c19ff1aee187e90dc02f7a7f0633d648c56db35bc44edb6f8ace0574e53118f28906b0615790f2014cd56c5ec7a1125c5588419d1a43c69f65402886babb7c8bb6ddf047f1edacb46f9be17d279d4305362534955e55fd1fe27e2dd33ad8b168ea51eb33e0eefd2bce7f14a16a5c68527cfc8216a4c7a0577105d4534ef84de068a26d123eca1d54fef6c9e37ea403ad6048b8e626d4b68b8aecc33c8da4a561db37cc4bcb30938df12c7b951654cc1ac945e7bd296b360bbd6e801672b81cabfadf1a4c81963cf1b8827b5dce206299166e9f079743e80da4c26e3e3ef6c66ad96b426e5a292dd21bfdc4c69aecfac366f80fec2d67ecdbc7460dd75cc3c83c996ee3be16b8f55eeb72f6705dbc32ceea8452e2ae35d3c6dd212b9c61225493faedd15a87084c5f7d194f1df98985f94b655f3ffda86f98def765f43838dd46caca287d1fd0e9934a0059a12b7c26a9b9390fbf74444293b7d547c07674d25633c5c3df0f9d74fd9b297d7b6a3e31071e03c4bfa09fade8a47a08b535332cbd636214510ab9a5ac0c0523240115a459c7dd9286646aee8e667dc2f0e3cd1f1e3810404f2c38ca675004928bc972654d34b11ea52e7467eb812a19cc782e02c814f1923f48bfab9a1cea7dc526bafe4ef16b92403b5d0ab2d0f12073a5948303b5ee1ef7e03e80710c7ba3feee587211edd96aa009dc5132f33711335ccf8675356915774c10f48f871aa4f44fd41f2bb5cce61d2fd6193dfb4a2b2998aa278baf0235f229e652f111546bac6a35bcdd43535edfb6b96edfd1bf74995f38950fc0ace7e5e0283026b786c50968f2c31b654d79ea9401c40de0c43ea0dc49f53c847be0fcece45549d1c85efff6a2bd582184e7f6083dbc0402bc7674de36e1e657323c07bd0c773969b179a70aaeb80368b02d168bda7f1dbeb49f463f9fbc62a2a3e65757456e7bb3a5c0962f29aeeb3e45976d941139562b93a39bc954ad1e92aef41c8538fd1468f052b1e9763d26488ca8445f5ffd62a6d91c81951083f1916b4b48ae83eb44e947fc7de6f3230f36bd11fb2acb2270ddd032997191adb3b48e6314d4cd79e1cc23cca88ca530b011f7973564840ff76cb81ba89d731cdc9b7d5373c715d47a16207018644f88ab34caddb4855164a40894217960ec7f5b3070b9e1511a98d706548dbdf96d5a6abd3360e24f076c234971af72017db6d9d653612517391de17c67e46351d1c6f73d0eb6174ba807d63592d6d7078011395ae4302ebaa6d64089dd0fb69e2a8e49e8eb35e35efdc69ac05f2d5c15857a4704840d9de1c307b3a4aec29232354a66646a0f99b61de6ebe37a66556dd6bde560fb777f15a20f78e1009f7351c69f84c8765ee2857d714289e37ce758b6394c53b5992c81c88fb276564160f889b153739d5c3c9ca77fe65ef5ee3ae9ec8bd6d55653334fcb71979aa19d92b91df095ab5953cbbba45a627dae5a4bc7aa00cb08570d51c9d6b839ecfae8ce99f075c46ccb531982315e0b791c96ce12e9e03b01c6e45c5488637f5eb400766ef91e1b66cc2437528fb672ab48ad50a514473d0b7945da890b53a4f0a5e2430960cba74a9b85357ce78b1db3a9ffcb8a03647be428e1c8f21f11d981467deed347157245ca61544a3f8526d89393c392c54bbe5aed6277067bc93275343df2975f4341dd50b0890bc220124827c9cc27f159011ba97ac3488cbecf683c8fdb1c9f6f38ad6be0efa1e9d3deb1bb81b678895ee02564918d928ae10a2061ead44ff507daedb28e3e3545adafc68d9e97b052112b0379435e77a3165cd5b6cbe61d80440987260c9c329fa3e2a8d150abe21b0818e5d38875d0ac85a3e96255b7d70eae47defbc67f2b1bd23446aaeadd528d030ff926506ae1eb4db9f547ee68411c97d2ff052b1d61d548d5d766d1942ddf25d0d9ce4364461dd340f8b815134507215e8e0fbc3b583e957537f26046483f69ce7b928e8d9c7947fd73820832d18ced6c4edd0d597b9a2057afe2a780ba243edad31c6b4bc333600f6fc2e52110911c1cc418ab8d88d95afb21b4e35bc64dedc4e7a0a82ac4a352bbaebb69f1a5c251cb5d20084cfa4ef1383c6b3a4ba987eac83e997af205280ffea8d70ca93d36227fbabf16bffd0b4da21a201b50028092ff650ddc5bb2c6242b5c746934096a14fd01bfd80e1231c955e8d2c59a0dbc38844286fedcd38b4f5eb1934a6c87cffef587cbff74c92897f2ddbcc62d2860bcf38d3eac40813f933df62ac1c9e79f6c0bae1a757e368ca2fc188822b13ef6580ed005aec66094b2ff605c2ace2fc987be5c8988797f8003556a868f02f368147f4b7ff3c27585eedc3ceb35b6fd2999718c0ab97c3c508afc8ea8f3ad518f9a6d80a0e843ecc028813c6094cc544476de793c52439ccfd56e45c5f6d5ebe0379b667314ec5d5974984977ee81ffb7ef0575cbc2eb7ab4f77ffe6f238671593e7049df48171f125b5193d72fbc17d224c7e60b76fb02240e11a5b6f358e4e5b198e777426543ea32e612fe4cb6a2af1f03af55dad4cd6fc4a5f642dde5c2fcd191c44cd019155cc1cbd4f19329c1701a3b3dc59f7892881d0fb1806ba3e899585238c4bcb514fb513737e29519ef2062b1fa1b49f900a79c87a2ad3821def070033bd0a03014e993d4e914ae402ed896a4057b57ffe2b59a63ac7f29b1b246e2495b864023d28c6bdb38bc1d53b8f37129994ad8000999da4432a44db809508f9b62a1a3a305674a3d93035caceb57d0f018bd85d3440d8d3d058896727e0b083a41b9ba07f44ebaa15afa17519ca4a0b2d61fb96dd817885e30b1bfa409f3888a7316d9d3750bdd4ec8ebcbc6a962c2d723c53b6e0e5fe3657146381aa6198923d842f983c1312eed90af1f10f01b26d8567854845039d0d32089bddfddf29aa2cae9822402ae568f9c1ae90101352a862ba5737dad5e9001942c71dfa9f86485950e8629cee16309d99f73e9ca96b978f0b6c3de0dc501d1d27d397ed9bf475574324e366c04dc5880846c80de615a5249122e1dc481fa5e462e9848814d1575f7b3b44919057e37158620e4cb47cca2c56fe3d539058dedcb4ca563b9af20501760fed4e463f29538dba5abd9269cce200cbc6820d8c6086c5bfff2b0fc529a18360238ebbd5e63fcfd4378bb3c868711d214f17b4be1721f19ce73d12da7ee07a891db016660fc518ba73ae6902a9436e687803cfd1f1946db9ddab5f35d0b26c390cf2fb64afaebcc16c984c5a765cd03c3d37f0108e5bcb0cc0a21069993da11104e5af790b426a42b1513f06a8da48f49b77e1097d8322b0af65b94836b1e652cbd23521655a630a7c15911edbc3b11fdfd7b582a5c4d82d0b6fa1d4b861dbe51013249b32946372da07fdb10455fa68359aa12151e4043ef3cbb459fb375260f88ee5c6803736529b216b9144603041ed4f38c9984aa06b059a61b474e8a4c49c8132791b59064ed482f3c4690054f016499cb17dfaccc8729bde649776586d9f9449e14068371c3b3063481e7116529418f77412238b631ba697505954ac0151855d900fab1552ba18aa60dc4f2eaab5240f58dfe1b6beb2a3c6fceee086d9765dea8b86797fa43223b6825a174711aa32c2bc7b2acd011a25518652b8111ee12ec65b00bf187715ffd66bdc759b550a263e4930f879ce39a40ee9765b7d9a8b59423520d4ec125226c07781959d65e21f25be45821fa1dd1506715064408d6c85c5662f8f96e0af2d6e599c506e350fcbbfb5456014589c5fafe2d85d1f5877eb3fa7daad25ae2e0ba9d2f06a1ae6b8aef8191d6c7fffee40751b95e8b42ff6ab5837030ec21c9c0008d28af1a5c197ff5215e345f7fbad06c1ac3027b883f96d73b92ce79a874d87fb6d9ba1068d018761b38d9d812e1cb6915e2b106151981aeda43cff1f9e3b7cc3bd40befe73708e406e1e197b184b21142f555b46508b0d51a26332b9c8487ab5c5ac208bfd21e1cae614ecd2301af38f33290ae10f91e354d57110fe73f55f5a6c6f27a7a12bf9a3b8e774bfc0e74d1c61bfd354b643a28c4dce1af61fa2b6010b1cd4bc83ae6a2f0d1d45c1a6b95586f46bdc1e2273e3b3809ba750aa52a234d446d678b5f67a77cd15c8e31b51cca4622712f7a2a38ccdd812ed181e842949acd910f6d3154afb81a7952a81c4a7a9d14ee0d4cd844729a886184095084e542872790a0af7c284ff73080786efda503c3638499312c8f65fd3639521b6725fe1cc9871f3b9c5fe10fcdf34e2a7b88b3b61016c12755ab7eea11c30d48160e2a1130ff3ed8e4aac30db622e0423a3e45d46a4ca9bab9d44b079b22a4a642b5181531dbcb51096e7b612347c7d3ca0d801e8b03f3afe6883cf4114725c3b327e7ef32cbd5defd418e8818b7aa44824414d217423e6d2bd1718de3b6c34f0e75b115be6dbd78c46d521e2e1fbed3ce1ea92cca1971ef843aa699058391fa8333d87abe627ed2f2294e0c0e00cb2a0acaf37ecaa7bfb7209a8186bc5708f1f148c37e11a715dcb285e6a078c451a1cf29c7a41418f4d2755ed3e3934b313b747f35cb2ef86d4f0079336dc948cd6c44c881d8d1b875bac5ab2213ed5c4ba4e7026e6c16c3bd2fd19f45d05446d90eb95362cae34e3ba0bb9bb31d2b43bc68c2c9c6f25f855acc0182891eca79298c990db6e562162778148f4c4881786c162a87af1a70ad9e83dfe02e15aa4ca287e82dd92652f61b8eb54825d6e238b599a12a0b471814e30261365166f644d752ca85e83daaa7d2ded61cfa9bef33c0b499c65d39716a1d90d11d0c1ede00fbf243c9ff41a962606716cf16dfa17fdeae5295e89cacf0372bd96a018bba45b5fb694453b7c080bb4b9aa0e7a7cc583dd5afb419f05c1eba33f8ab104e72613d3d74139445bdcb3764931d9bfcae0f2ae6b42dcd0e7c3a1dec0c17fb9880c4722f19b6e29317397d9bab924d8e81170e5fe339cf9b7e73e595066f7f6fd0e3f7b6e02ce225fdc175ad1ab6f3ea0e62459c0961c098a7da5324f7a0ee6fe1cc1dcd8b98f4f0c24128f5239d78ff7378db9582e6c468cac6df143e9970539e6d2be14e195e0a79b81c509f161cca32eba987c99becd12efd6ceb58e6691cfff276593598fd3477d2b8ba688b6f7d674e3ee41eb7b47c208b43e785fcf7a0deb2e922e29a7c013432a69a2ff05a96c576fbbfa4335b5d88c6060e83682bdbb70f5af8f20b8add8519a0777dbc747d899d1496841212c64f88e8431f19cb3f2562714e8477ae8c516e65dee1e080f9da8c45be5f31d09ec7f324bc6fa2b4c27d923007a25f9b3dbb3ddd837ad881bb6bffd5d0b81f67b2f948078cd1294fe91be422959c01027390adfa10518e5df71bb6072132762ff6ac63f8011db8afa993cd645404e05180df5270c1e9bcc4f66d1d9edd9fef468960e39df0105bf615bd91d8c5eca05cd488a78953b46b33dadc77a244b7d0d9766c9973f666fde08bb9bcf9ab408ca10c38ef7a95b51de0ac762e6aa10946e23bbadb01b95e6394f3db9d41c544e4abdf54019ee30b037aa631a19869249d3168c6c7f725d6097d876befd8e53099eb68e6d745b41e0a471112625d00b5d0ca42fa94c3e038522132e92eb85c1c92bf34de0647e75250e6bebe5489622384ab8aac8e0e2c370fb551a3eddb0aea2171777a3c0ba0af0fc4f15bce9e59fc2120e006b161e7fb109921e44fd9dfef6598eda2139781177fa22c279186fde5cd9f3832d6809d882bd69c85b93771fef5c86ece302e96ed14d4a3af05be143022caa6889d808f8ffca0a3e050915c4bc063ecbbeb373b146744a65159c7ad4ed87a46ecae1f89d1392aeaf04ee1396f2cc4a167dee53855d75ce663218d4ea4f4269ad4e9208cdd30d40a1f66f1bbcf3c43353def9ca33885fd2abf810200a9038a0f925d29da982c2aadb6d029c7318619eed6d7056c00b1ab9db846e134c09dc6f545923d1683fe865171b2e4925a9c18c6fef67cc3f82b544fb066f09ad72a81543c0413ae01630da70a7d6014aed372dde2d4f642da77e0deb6a376ae10808013be638db0119cc82d834e69bf8816a78145a1686920413107fa7436e4a3ca73fb9cb0180b044756461651e3119bcf8d2ed03ab15106613c8875818e169661d10168b110e8c535bb55abc674eff81ecfb2663415d73600f8be37a25ff9574dd20df86bcbbd97e17ba65cbd3e31a5c7b46e88fda52e7efc1b4cf0aef7a4c2a21b60736d93adec82cb9713d352ab9ad501f102118bacab6d840fd5d65af62bdf5c4f55efcbe2fd28d2049d102cfd840704bc92faf2539de2aa259845aa6cd792f3dcfe7e5257686ab801dc0a2fd938a012a6ecebd3fab04581db80dacdcff9e38f90da5e3d6bce9a2d3da0a7cf0079408eb0d4dbdb816d121fa401fafd5b402161a7a6a06206d9aae028cf43b36ef4c21cffb1ad889624a36b6263c60bf05a328ae6129dfae4a7e971790a727fd85e2b89d03b7e34d2156ab75b4e2a60d3ce1bff46427edfbe4e800c73678813b834ca200fe66d238c89fa139e58e512ff81cc6f4babd84327ee2e193b2d59e3f1039d36b3fa242f85b50db34efc42464ab7fb83e5123fef8ee36c6cc84f0bbb822579c204e72cf2261f936bce04f1700adff3e8ae6024856b4d320d51f6723a9049d785f3d742ca7c0e0d403df46931f4d4018c1f9b3217b765dc9bacdbdd8cae8e55d0674f428aacda52b638a4ecbb02d2d11edf42735e29eb47bc06d27f1246fdf911dfa25bb35b9d5948584d08029aed4b17e47cb11974431815d007674fd3c0702858b7a0114113718948cab90bcf82f891d2857e1c1bd1c672fe460cda609e809620346d62016948e1408d13bb96c4992450899963ff006fcead04c7285d19a1aa43064770cb2e015b7e212fdab6e35d30ca8a5abe4a1c2fc91f66f05e17b88438bfed54946f2c32251ab627f0750c8b25fdd9f335df4525876195dca14de72c0da67dc84b5136fbe4b6d1ded2a2b1025f814545716512b7d938134ee4f4e999a628c24249bb41b58d629420487677c67831745e5bc339bda85948e0f3628bd58101bf050c083b1ef0ec65e9bc1b74d7a802cc959e91ff11bb127d67b225eb96831b726cceff08b3e745996541c8b9f77f69dd4bdaed4ff03bf13c37b741d178cedf1ddd5e2da60a66d8894e63c7ea5ab932815bf5339950648862f2495ef93ae43b1d02f7b490cd950e94a049557a3a3782be8f66f2bff5e75eaf595dc467605e48103e8ca09b8acbc19c46ec2daed78e7bd0319eb56c5f1c89ba9f03916b504052122983f5ae28e433ed930273e0d05740358a3fdbe0d8a10c04233f781c1777a21d91fead44c75e37650ff47048945a81c451540261cebbbcd534f5ed0438368a2a271b0272ac3520e4cb95e05eca3c3f400445bf419df070831f15f22e9939bd32854cb3325ebd92f0ca8f8716bc3c1046f234662cf877583c9f6f07cb518b4ca06f4731729d0185d9268c125ba2251c4b5120d6f99aa6432e450afb95aa371994e18c6a82b3bdced72f3a653594152130b6494a69c3589f1d720db2934eae6eb8ef1b511cd5afc414be2f1236150cf372ef7b852d38cc090cf37c7fd93d6691818934644db89ae19499694bf5406cf42cc7f1a936b5415055b14afe0a183dbbb3e60279a6ca796f9f98fb107f838d202a9a8ef68e3534de65b0aba358b9f49633dff1ff52a8e2ae53a2fe9465b03e826be90074b7fc77018aff33ecce1d0e78790db71f83de6d41e15e7200aadc3dd03eacb458b079e1f24dd0325296f9d4ccc2944882c63e7298ff3b06a3adb99140495db53c36a38805396defe712892400c2604b10924f18c2126d18d25790df0938888298ccad297bf93ee61e9498ca294891895a9a41a5a3e1216c11f0a9450a672243969370f9de5868330d3432059d29b98c07b723ed863b33ff4677caad0b02b0934ce05d60d1aaedcef5a4ced8ad7715ba1ab41a1e9b3a02c744ae96646f7105c2d29d0a6d703eab4c24d69ba4c5dd057048338446de3df98408d55cff0ac780b027f51067a364b7428ad936b76ddeb095792d2cb78c0cdbeb48fec8d10a52b728df7224c4e1ddbbc381950ad12499303dcdbe22b7945966c63753b90050ce07fa65a09e2f5c896603ed546e063764ee2be0632e1c368f179a4b6e7d4d121443f3adc99ad2f9fd46bd6632490d4feefb9353fab0c4b8473fe49616a1e707b1ca35bae34a6752bcd21bdb635551ca7cad5bfee7551bc8b0474d23a3f891ff722fb9567ca628f9558ca92cf3aa4208d7cc320542c4788eacce6e86e553cc3d74b7c047d8077343746e1273196279d5bbc11b7382da3e61da7f6d1da4d72df1ae027fe7a23c6f71193c3b9140f0dd925a84494e03c568b2614393cfe44493e11e0e89e71315b91a3a6b11814d0ae219fc3f516b82f7848b298b3d807d784e6e5ef23b5c7e2c237f990c64b12702fccc79a761fc0e24e85baeb2d3f79549c87a718d6fe2cc262265c957d2d58e5183b1cf69ac524c0f79eeeaea9ad17e35fc9131aee0a42732d59f31498c85dd038ca126e98270730b30e39a593cfa9b019520ff09dcabaa2dacc281e55f6b30db0cccdb48fabf3966249c6196ff52a506282b630a550e2d01f8b2dd19feba0f534c295ddd49b392728af3d359b2b3dfb455707c0c3745cebfc0123f00484e25e7ce4298fd9b796cb5c4d5ae71a917693a3b5943b67f4917cea9b4a255eeddb1f6537c39ca911ed39d329e922ed1c69aa48e7bcebb710edcc08efb40e214f1670d0bfa60be6a376333ef6ebadaca1073dcc4a2ed40b0229b7b70af058554b691ffa2ab72116e315d83e69bb40a07b7e40a10d349b79d513e372aba2d8635c237def8be31b4d5e060735b5dd088bd274abc5c40552fe6e60c35b98d8446418ba228b4c43a55633a44cd13b913de8217b8ec50f2f9946960e9909cce2c0693d3c6fe6fb0712288849989a9256d5766a115a5bd301f58542b928c561569ed744c1c44f899e6bafd9378b295d23fed0f756ad07f80406944b8fd49cb01efa1547607f5d76fbe89900310cef2800d3d1d1f8bce95ea18d6b073cd3d733918487a0e2d8de1feb1cd086c3bd00771f8000be0a51a63ee6df436b3b449d2875088cf20c7817bf6560193bd4452e56cf07e735ee538a3eeaba56eb88d90abd3e1aeea1a0187a92e5eae16113407bfb7087b24022c7cffac515feb64b11241833d0275dc0b754f25e6af0a4fd6abebf3d98d272b1661b6fb9efd284ce739927a47f8175ff516b00bc54c3bc9ecdb245a0d9554256b3419b5145e4db5ed57f7b1e3a32899bc90dbbf732f1b98ffcadd15265f7af509ac18496050089f7e497507513ebf208217c77bcd940267897014c3876de60b2e521ea4bcf25b937f8369a77223d2fde6403ca781c361c156504ce6ad72bd7294641f39eeebafe9a953734914ebb8af7644a9653b696b2fa6b307a649b06f9c5c369fb819ae71145cd5e480e5c6e13a1e00122a3bc37934a532679331ce7f7240213548f5d502370c4ac52777fa34bd4be97f565fb48edc264441f88e7bc7cf626dd8ed09ad25f885490fba47b5ff268c7e1a73600b02b0a37957a4f44b7d5085a816cdbb00df5f57e536bbe80a124c49b9fa48eb2e818f37db647ce98160008b8309affcf3e73a41c563675784621e5696c457cc576d2d187642d324200689fd64d7009a01197df1ce2d176bf7eeb7804244dac75327856241837aa4ee58498db85b73396b19f5afeec7ae6a0c569ae29a09d9a30d1db791af19f1a4c5e146f38a82e77afc8c73c1f1f145c562e5f271785c31dd258de723fe369bac64fbf77a8584c11e31d46c91fc316d97da6572136407262a67c7372484a6395f7b82d982942873327461a8c666f2582260edb59be7d861bfdb656af9171330ccdeacb61da14247c52221830f6239f3b9aba1fa6af105b2492c514173481479da83abf8fc783bb17d410f37c3762f30535bcd118e23d91be69e888f63ac28c733cfd20eca7083afd950f56f80d8eb6fdce94b8647af2964741cdd729f18222ba4cb0895a63008f734572ad8bc085f9faf9bc162121ca476f63e13c50983c1fad7803882861a96e00287a2225008679fa3e39c3fec509550c7222d895988e246ac4590d12c74a60c66557a83defb2f935317fb4e5631e3c1c1ab634f35c4fffbe4d42340b1d46953edec3224830253ab58d76ca0233c95fb3d5bc2a8543b62b8fc359f706df65439dc3f6b777b42cdfad9e9de468f19656a9428f3aa0a4f717a5d6d4a3b72f679f9c916ea747897be17b4fc72977f8489c31b62fa6a34fd001f3245bc099fd4c03a0b51db1c9f23e6317b6a88ee7b6ba59ae88f388cd09886bf3738b3de1354a6fd3cf2d9bf692ec1451db65b9429ee96d9a403cca3aef42f9658ad18743645d5200ed55ea88486402e2574b80ba2c209a38a8b346a2e646dcc1f5e7f73270acba92995f097c6d6e317efdcdef1d0d39bf2050ae71947ef0fb56ed2dc73600786680213af59beeed15a42d965fc2125f5b6d86db12168c666e885299bd68b8b46cb2f555ec53acfe525260fdf10ffb54db3f075c83e3ba46619aa0c8817102d6d17ec4af8ce5604ac024c77174f2ad8879320ae938881e277f7f7af48cbf7ef337da23e4282c81d5ab0ab0146c297d500ac45a43ccd586600607d05eb7bb1e43ff31a780be340ab16ef2cc7cc61d83969a911b1a474791fa97bfe89858a58e9c1f2a0923435e0c80f2c7690670a51db9dbea93d1acf8a19d2d31bcaa88103d537aacc20fee29b18fb199b1ea8aa2c3aa42a3f9ef9974ca66d2a5f87ffb20a379c43d153aba25972207ab34234d50a5f4d8ec396a8952efcabca7249a18061aa0a3e04d5e262a4141e180c43bec2105aa753dd3c703c91e2a9ef28b0d5f00ff66cc5e20f2afb451aacde5ef647f10ba8c555555af0c1e6cdd36c243d75171d48a698aaccf69956c01a7c81f258c29c9668356b2a86ad307ef64d5329f64a7f3b7445637f421a4ee23c3f75714b489563b5a18f1f3b852bdddaad370d1b26de875ead60895d2bbcc188cc2ed3ed81883a3eb3ea1221bdc133357b620c5e00883e5580103142565077508fb31f3301ab37de938f613be2175c407c1ce107de0bea2e97752d80a955f598d783ce33b84fc7023529e80563c2d6bcd52c906d41e116cbcfad982f4bbd0e4d943072eebeba26ac848018e593d3adfdfe0d190cb358aba017da39225739a9d6a84157eb8c68992dbf1ecbaded42d8e9de00820e35b54af0e6f7dff5d55c0cc7592642cd36659f39ed63484e5eaac910b41da6ad393ac2b2b54bd9823405d41d515123b019c4269ffb2e5e74e3f1602916434134fc5163d4a0324c0cb7b864b0165b8c76e0c2f9664dbf9360818456d08a6b289d749fe869888ac8845e9ea354610aced21a11493ff15138cb63032e9337ad58405c80c5952a7142ae3c4ba7ddadfda1290d452245f21b2f2a090d525da7b5072c994ad82721766933ac94475b44f6404682597223143b5b344429df5ad18fcffa2ca5110ac0f7d8e1297c49808fa7e4c91a6553326ce3382148a9fb97428f69ea4ba9eba4ebcf511bb406c92e943a3706604e1361dd032ac2affc94fd0f53472cb0194c10598ee0ec5747b153974122c0d5c4e355e9e22845dd1445f7e739534bc4bc17c6660c67abe87bff400f95cf6310b4be6787ef336fc88b4ba8a79817e665eaccb5172b3fa86e26b0f8ad7cb0e43d2c9033b96025a1c1448b3c3591c583407ae28792b3abe2479061f0f8fad87a255c7d74c590160653f3ae9cba581bde92ace1d0a1a45f870ee3c83edde07a5e314effa5050f22743e3f910c1666749cca5d6484d3b8cc10f49e6976d680b9e414bd84d67c75905b00d65e031e8091184e92776e4a1716a9359bc57b1abaecf7cfc3eae435b36e5617f28ec69c9c191133c9bcbc226a83dc8c9878e7df3fe49d98dd7011211b48a3538d9b078a4bfdac02ec1c44393cd39ad6e4cc45c9d3a12af8e54653e2f551bef6298cc9a32e8f0237463c27997f4a7e95a82088a1b6d0ab05e888955eb923a0b16ed8f28a6cab4af33a8646d232f566971038810c2c3e7f354ef9366e2207ec01675c56f7b883473e48b9493b64972f1627836c01c0107ea6c15ff6ef39f8c68b2f7d73bbf5becd6526d33f88434f12d03993a4920ff3f171f418e0fd304e2a8bef314e55c99216d5c64a48f13a6297e39e4661b19ca30f4a47d4c8fd52d9b832b4e45badbd6ac973226e271f4a2ba508f52a18fcf8aec37fab88404f3ddc2a9d7a25fd5468b9ff78ca022a26f0ca41041cf0c3b1bc5e1ae94f5b6334b7f6e812a0a71d357844eac5ac5d19bb400995ae48882908e9143e4cadcd67252052e8518c2ac2360efd5dc381e0c2191b5c52ef4e8022b3ce956af948e012464eb9bed6c189e21c27070fcc9c5fbb2506f9decf67fd24544aba5e0f1bd949fe712265e317130297119dfc25e2ec12c338d29e506b4279dde1ae2680fcd71f5756b06fd1de609773c93d946de31ed203871749927ebdbd7477101459a66bbd11a7e32d304bcd622ebc45bda113a960768252b2c001c79e6021e8efb1fcc03e2bdc7066047c0e761b21f27e89931804523a69fd50126b2751cf0e3a2671bf09792e9081cfa8618a027801c25b205f74002589a39cbd7bfe1ea7efda8a42a202ef063935e6b19fab87d4ffaa9e2f76b552190700142cf3bb8c565d0fd1fee29a2b0484b72a4f2bb275fc1c9d67405d8b3a307a5aeb681a02a7b684ee3cc336febb9b36d1a6016d8d360d9ffdadd0e156359648ed1904edcd5b902e61b86ea7b378c77e6beb497bf08ba8842eb0ff3fb266021b8bab5f1d282bbc49987a7c279c0a0df7087da139f07717bd0bf35a11b90b7aacc27b78f6908942a903c090943a6b9c360424ac8b23e0a0c5e395bb37a9539b463bb39428cfbe37f6ab991c0f04b49f76c84343746292383ea18fe85dd7ea93a2b056b642d78c8e9bd8e6aa66a6192fbfb03170784d6cbb3bf5330a4aff2ce475933fe15c7573e3a89fe870132a1276930c97098da12f63a1ba7eb44bd7712fee912eb7d37f84d12d3434a82d18e1d3936e3c935178ff79f0be02e2755974a55e3ffbd7a8d963180324ceea6dd0528c2abd7696b1eee67f3ac3b6ca75e4a47fb6144c21113c674ea0a8c543244db2c5dd76066057b088904e7795726110a31d7dc67a1a1512561ce1b9f52e36ca89c107bded3739ddadb0aee1ea41818f1eab405c3a22889668a9f981054f7a46cc242b48f33b0fa858f40f50feb39256c48865e0575f0713f52dd2a28c168407bdcf9cbbe01df0132cd8b6f1249ace2e1edc8e75faa53f0801c1613def9e6a9d43292069e823154142b870550d3bfec676bee136d855ec112f21a6b3a4fda5e18d75f881054a9d2205d97f804da0f2746fc2860e154883270cf490b23768551a21eb4a1b279d1edbc2628fb361651f4658ba33925d78b36fe07b4aa30f0f11d10ee462ba8aec53ba8cce4b8672527383d31aa4b4c797d7a07957c58cc455361382ca2aa97db4edb23a61513389b3385e09055974f9d99a678707a722942838b735c94586bf3f10c8dd54e1b9e993d60e9280534bd9596e765288d4a879dfa78be31a57bc0c4bd434b7cba2f75064ec4c8d255be3146bda53ad50c6a64ef1315cfa239276c249d2f7fa3cdc0dc6378be4769b60a83f285dad0d0426da82b647d281f6dda590693a2db4618c3f7fca6658fddb14de77729c8b4c3becad6999fd3c04fe859c9a8a3abf2c56791776d259ce7e88d6c3d00e703529391452db700ba92bc9c71f2e459d593e6405be147bf27f740ac3b90f5b86d1d49e83497aafc5cc8bb3f9070b70c68efc2633c41fcd16294644de3f2aef3bb306a77edd42ee2816ed6f19e03bc49e1bab032b8cab97127f2e5b3fc3a8938dcf81740547b18e5767def32f0a21d2565cd7299a03458cd479d75403d28b31fe70eda5aaa9d849db3352683202866ca6a8e06d1a5285d215db0e364953377198d14af5dce9f0d5daa70f4f5acab0c628d8b32705312dbff40ba029849973cebb98da31b6fe12a90ce927b65ec1150cf9e85e166dc18ce15444ad60a8d8aecb4a92976301a4c9ce8e4015c78f66de8e307d7dddd8c58da8004583004bf2459de8d1395af944ec51ba166a6a850d78db9de17411e00b0b5eeb24fd72c6e97973db40b929b6af2dc598df61103fd3ca9e4f3140985d54775ce6b4bd6e5518814b7fc1e4d775448fbe4b98a182c562fd226957425b12a7eec4fb49c7e71946263ed2ac82040e1b59a97e96385713b3c37aa1f725bcd503c63a2565ad78d1972191cd629c2418905afec98414e3c86ecaa68e16fa59da48f6e02dfe6f700246f267a8632589fc25a2afb46e786ce803d2faf6ac8f7f406b03ed3da56ccf59885649bf66b405aff2006c92852493fe6e5925f6900afae15acc060335bf92671fd1f971341c1d076cf38a19440d4ec292a89e5d4b1bdd0f34bfb76a81bfd6a1f676d4e0eb55bf98777e387ded6ed6b3fcd778e77214914dfeac7af8173a7e15e9b46781f3d00511cc16dc6414cad34f7418e80e865fc417f14dd24adb23bc5217db789e4802895ea30039ace121a87e74466a6204763b2106f167f924f519debcbc43b548424c6b8db14bfb61d7ce5d604d435be2d42dfdce4d5ff4cec1093202a56a17e91885155ac2a2ad2afcf16326b22ba955643e9eab5e53394a34faf189096780266e0c14292fae9e0bf331d251d5c0dac0a45183fcfefb766730f487f12d90a49dae8343d61dcc39c8a16e26022b7073b162e2334bcca2f890a6852203cfb71750701e31e27abba88a3f11374c4ebb729538d9d332d6db4ba0aafd3ca8193753cb0b035f21ca782b37dc667876198773c6584db2d0e10d39467759d2d42c5726a472596a07238f511c7ac80327a3fd9b5d1211df77e60d9bd44c9f08f46f0dff45f23111796d4b0db040961e6d49519f2b4c0320399f05f73eac55b12f15191cdeec9a445fd393264eeaa3fa728ac8625eee4f44a470e9fe25c5055d38451905154d060db4106c0381ac9ccf2fa99041a8295c08ad1bbaeed5ca446152a51ac863722ed4f3a3086af6811e795c88a858a4ea798b058d92e113fcef5e73f14df004b6d34073cd5fb949ce67c5315aff24cde68bfe80de37f749a99dd3a760505d885ca0cac7af204ea51c0062057ba38999aaaf8879922d9133a59ba6a9da74e3a14c0808c870259084e095c1694583c90b2e8b42968960ad96447ebcfcab3726bff4e153db9d0846370420ee509b605ba1f9beeff8ba83e62ef5275532fb1b86eea6b31ef7526d6f623b94bd84e2144baa29b1bebad781538de9637f0fd473656c731e45e0d54a3ef7c761188eeff3d48d109f4450d74bba09e595f4deeb32bd8556560350b62c6037bb42f1fd1382e224488296d22bfb41fb2d70457796471ccb9fc7796892e0597e6194f1e3d1bd279407b9145cb27bc3603d8a512a4308df9a4204b2c1c02a1d08930cee50c6b55eb14c4d13232ba94a205e1c23ad662c11353ccc30450044117831f95f9defe31351f757df2c17cc1ad5fe301ce2461e423f775164f0c1008bed94bc27762dd7d3658efde056f19d675cae246438690a6a9b1fc832b0cdf93ac48feb4b906e4df895574b56cc41a13226645660fceca32262d1544b985591a3f71a67210571484e83704b876abcf9e14f8590102368906b38fd69c584beab0c9d13acbc37af293fd748aa05ecb213af402dd1647dcde95e586b6657a08efc1534c2289612d80881539ecd280ad46ef9bb406567defd06d84674c210c6c06b59e0c1bab66272a3b070172857486ac4ccd9ea80f87369261bc72209f71e09a1fb75bc9b27c3c0e05fb805f7d4e1e91f8f615eb3fef84bd7b38374d5e868db3a8ba6b9bae35ff48b7c70c5a03d5f26c222512005cb4a8b85afb86e4a56a30812bf1098c4bb0785a98539509b3d05fadf5aca111a076a425cc580df7c974d7bc0db75d0d94b278624740000cb64dcba97f96adc135f22378c4e2d6e28314847392de160d11155424e2bc8dc806be604e2ef86d937812b6d7f93d036648eefd11e12f5dd78beafe3c73a507d458f051d1d772f0a31649615f235a4a26a34d340854cd38dffecbe1a740c3fcf75a8a9919bcc67141184be818208d7d7bd615f8c9681777b9ef247dff1e4e6a4c85038fff1fe06caf371c294d682a2b056c4be76e6783a2fe5d1c65a432f3e67baf7dbbf5dbf7dcb774e98ba9e436f74828103802900ad06da8594904eee13e708ededa7ee6322a733f1a4d7b6634ef402588d4021c3cda99cca6e12a5ab726897f7b48dfe4e1997bf6765866835992bd9b65535806017b946c89f3c9fd5018c92955f11009943df9d55b0ce5d28108cf8c41b7d463681f8f571b61ee32d9b5b247e07316b3bac942e17a16a90f890ee0e6a0c799d370fe7643da61ab0325fe59c1c58464ede0e226f5f03098df33c70d7ff33294a297f92d63bcb6b56a762027b23a6b966384d4321c390fb6da62f15178095fa75472996fae8407874cc7d49c35ba992e58eb097724b4cd4312f088b14de4a8ad1dd1a8a217e29fb83769054fa9379f2faefc87e88e81155ab7c47b5e0c3474da3488455000e2a9a16c77fe5b8059e7431b7ec84d844756a196325d6ee925dcdd0a4ba3b7732732d8ec88b24bcc89fb52d301bb65bcf8bbdc2e7061a2ddd0532a1eabee67b807ee6ae456804743ae79dc1b58d0f0dd5a146d2a0b222ad89a736564f75fd7584e62c3f1da8f0f53d17635ae749b9d2994d0cc4af486a35f184cb19a6985e93997f48c60c267bca14e77053d2f7ed36b8c4636abd9b84fe2db99a68bd9778d10a0f56bcfe6c5ff33576704d3c491dc92222ebd2d4b2e85f044448e68ab898930b6bce34ab77ca4c2127f7a59f07dcf64b1510a29926d5be4283f512b238f84dcb5d624c9cad0a9050cdc4830d3b83a5eb5f9a54ec3141a2d42c4ddd1c20303e59b1df54060d4c4ffe85dcbf78dd5eb2ebb9bcc95141363d5b14368eda4a7acc0b8be63223fa6620ff0d9decffb0b918026a13a5bf2e0624a5d1ccfc13bfdc2f8d0c4c3792d1e9e91ff80e9068bbc95c8d8ab3478e75f5742d23abc6ce4588ef75434e3226a97ef871265f9c45a5dc95fb29c9e016226cc2255c1cba90cef9a96e1b3d0dcd1b926a975013b622906b1734bbac6eb970f6784d22706d26e97e7ba4b50f3637f0dd31ff571a3109d5357d0c623e815fa7e237792dcfc51f6963af0ec5bb14e3543cf028bcd359b8e1685bfadae050be58f5c69cc3b14ca6b0905dc41a87e95f32c416dee0e55a6dc617c20760bc61d188ba67797e684be92263826bf964629a2ae721b54b2d404e31afc86f8299c6787bfc097ff68342acc5f2eea9311b945c70b39d1f836766deabd02ee95d25ee78c55f8d3b8252fcf02b967820efa8e84eef45fc8a9fb3b3d86cbbd1604ae735a625f576f06b54a10e7cbeff14f9cb530aa193e97be680b8aec7eaf73fbb6167a9b02a96729c9b46efd3799973ea006f2690abc13b9ba8881746c53cfadaa7098ce8bcc6c9197c899c0ab049ed4ac17b6f389888a7f00dbf9a973b79365ce45dc550c6d7fa93faa34df27592096156a0272cb6279e15ccd163ef12f73a186b36285bfaf0a8ec519d8d5710a5a81d0f10c2821ce8693d0525c3ba97d182fc6073490d6bbc6b6729c84845d79a68effc7947f1bbdf47e1b445e2ef928e9adfc164fd7a32b5d89e0e65f6fc50ac1332d74ed107d74746fc2543e25d4131f30f4d6541659fb0ce357edc5299a03d8be945a7494855f49abe1082420e2761725b795d69989b26a37296149a668475d244f3345eaba00e22b79786a9999673658ad3f36816a461f5a34a41b0561a84169438bf4afc5e7fc32746a0c33c7c967c216b05b2f5e24d31eeb214d6ad580c7b933ede15097f4e2a14f2eabca0a17b3b3fad5b379c52bc28768303164078af8287ea910e73a509f3b6f714402a75a414d3a61d578f08c7e8b30fa80db7805a6f96a989c2137f2d4da5521486b1d68b3e17a4a12c68b0074a8341534a1b35579c52c240396604bdeea96451fd7b778850b382873b272a7bf14503f2264feaddfcf979ade688a1be3765dac708e0635518095448e52540783bf3ed0de2fe7f312fdd9f35b8621012a7e996c4650e3122c69076507f7e99a6285f3f3bd8dd6ce476b709c4fa4f6bdedcfce0d565aec471bf1aa66d964f8fbb360dc1cfbdb64b0e43c45dede28b112661689bdcc7d5e46e0ee6db3682a21c9e4226d2035850a98f610dc5f7f4ec41f85e7e0d287a04d4391301fe4d57b88bd82465c8d99c4a1a46115fcf742b782b17bc6089231b409856b5786b4dedb94c16f30ce8b7e86543045bd0b7de6bab17f01e195b39b8069290744a604835dcc6fd58878b79ab4a9fdacb383542f0ecb5c66f66e46eec2f6e460981b613240b6a07a04d764407de17f9d5d2cf376931e61ef42b48df4421e958574d348074d7af671606ea0c3bdfff925e04c952cacbbac58e158cb6a1c0eadbaa9013b3688cc814df0336618f47667416c0eca1f0896e312c3a6407d4e329db5f039c92cddcdfaf2bdd5c67f8d2d21f53c4668b6a98c53c9ad10cfbd0b75a736ec03c9e9e5057ad5e6a9399dfa89a2802b20dd0668eccc132207e205d185f0ac7bcef2a2a984de296bd9a65c935287a95d2ea788f5371e308c1e5e2ba236c1593c6e7c0f375a15fa6825104ecb8458c6af15a2399cd9a19d505c86e2e7a11842bca6e0731ef2a12d1b57201c3f6a26ca2a5261615fef9fdcfeee40a5d1a45fac8e0b8d8fb4477720d35de9f01af996cde6724b3482b8879273609288b70539c67b7bd67410a9817e3e6ffd3c2d038d9ff1aa05d5229a54f86243422345c9ad505eb71b1d81c81499f5dba13099931d070433fdb44f0a617382b5157673caccb4bdf838daed0908d1a6075461411c2a351ba9dc19814983bc9317392dbedca24faa72faa1c67eefda9bf592454007d638e898cbffca6d1fd4e846d18228170f039ee7d40c473c707a8ee5dfee53e73a4ac081eaefd519f3fe7128c5d2316843e4c31bb2a2e3227e8eecfda3ad97e73bccac052d2fadc0366908cf46d97bf0212db76e9880c6e5c87939f446768ba4d836b241fe92010b53fe1ebfe68e418fcfac3c86e0cbd0106b7882339f95f7d8f158dfc2513a2018adae7bfa154a2c9edd5fab7fef26b7ce4297b1860b143e71accbb2ab4b82fa724c6feab2ec3ecca98b4b65591e10e3ea85c314f52f4538ddf807f92ab380b3c6acb831915320b156620ed761e0ee158c04e2391266f0fb4f4d808bd1eac6eee63fa0e8e21e3876778529cf9c4bd291ebdee9bd259af3c7f995684b1d2d88b7a72c21b1c6b14074d46a090969e0333dc11c5eb64b30f4d5132ef6272802b91c1c128553e10e90e03daff010dbcb0f6ea1d5d3f90901e331ff0ca26f703fb3e4007811c50561d097ff3de8b716fed3fa70b7366b4c6d4931aed7b6adb9b964989683dc9d7403f241791a2db7154e160f11c35a3da6edc2c6b1111166594d39cb99d6d7e43a09e71900965d472719337c7c88c2b31d9572827eba9a7dd7fbafb2474f15e9364e32ed09e3c45ef2603efd8ec07c8aaf7d85d286dafacbdfd44f41d53709e65a408bd00c2b7fe92ce0e6e779604794bf84e0cd96273e74833f9a4e90c889c92d60fbf10e126837ca839bc3eb77179954ab1435b3bafc9d073cb0bc2ecc550a2edd6a015b9094ad97b02c2099d6def17ea3a1ea4573c66340412e07dbbb2a3cf17ef7bc4f2fd8ce52c13b897f2ba6aa8b399dbd355b71d647211289a181776302d1f94d9fc24d3264739b2ea2cd860fcfa09557e550cdd995ccef2c6889bcd9f16c2db4376c0f98a00077bc488593c5f9853255ca529a2a372fe5a44fdb9e7f56faa5ef6c10b580da70ce10b93ff829a082975a00ef0b658244dc1117d7e15cc7b73af763bbfa6ce82ca2809485f459402919e2bcc17e45a8c209bc3f58f780399379cbdefaf72c5845ab4553a7f5d1de4aae1d6266514d03310492ce9bcfbb34add9c3c50dff03664aa0607509d1bc0fc552f38b780b8ac1b53fee7187e32e70127af143b0b62fbad61a1bc5660543e6b1e0c8fc1c15912e863ca892540f2db683db3fb8e9a2f13e9ab3212f57a2b147ba1862e36c0b4da36e553458a595b6d72af3bd8a06dceed2f73f56b364e885c2e3962d264fdca09642f8146c5805404838ea3f8118c8e3ae83ee0bc1fd07caad93e897574ff1cbaeea010ee81a2afc53dd8f10892e1139eccf87da189e8eaf93dc0fbfd8f44f021d9f1d921ca9b811aeb363fa2572e81ff2d5e6eec7d3a38a8cadb0ad03d2bc8d032aa51a1390c515bf3ba4548b29f860a087e7323d376b07a8672559350ee957f5ed56a3eea5782b05f82e34d89f223786aebffae3c5e98c84205525bcf222518b085750ceb023d506302877132858e624c7f73bad2ff21895bb3856d4fa324ce725ad12f65d79c5bda1cf3c65ac09259c895f30cc7bd91fa96999839745aaef66f3564531e5b8b067a412c5b5170b1f66b0550e895d76fa46e3ad58ce498aa6470ab9579332d93d4e3f4aeb2f47d56a6ea4125e028bfbbc46fee7fd450196226bf799cafeb65247bc57b71605551fe29dbb0f6f4c8f8409cf207610f39df6f35b633ca627f9bd131cdf9497558f8b030891518bb3056204ddcec296728aba2829df28ea4c85318404eb7927e4cc06432315b8d2570475853f6d9c2bfb0679ae871258c46bebb0ae20d31a4518f94de73dc31214db53a7e95bf50faf0b235b5aedc8a0a46493d6052c753c9dbf3016401a72d72f165dfdce1bb41d7477bffe484a6a73dfc9f6b39745903e5b3d5115474891fcac68feb8fc5b79b29a3e153cf4f549fe482cb5051316a4de706d7a6d7a4349f199bc86cae39c67289b0db6d563dc5afb9b8b71a77c70d69da68648df0e7cda0963da2fd1d9eae958f8cc5aa6c4f79418cb84fa5e4512a4960598892742bca705c0ce06d6fc19ad7ca76c5214220980a8305f45df0502e562971a19fb214b778c71daf8cbc3ed0f6cc6f1da208faeb135e30bf1ea3e07e5bedaa31f61ad63f1013fbcfc6d5ef98ec02fd28c240032dae6fc2c9c50f9016ed0c196bfd8afbf10d1ec8320986d2d5b65f5c295daa428917231122a8c3f68a59d126d08cfaf57f5dcf1132938889df02fbcc25d71c42f873b34cf5536533f2f9d9e78fdb451a63217f9c0469018c3b9a00ae96e1b77f5a2851a22058fb0754fb426d8f62587175a52043de48a39f09edc11ea8f65ab75052774617b64b11694bd7dea9e5eb0eb828a33fc4d1bdbb8f985ff2862709c80751f362a406db45ac7c4b7ff2d5aed57ddd1a87ba3ef2959b1aca6fb7d2cae5b5c5fdfbff3b21515e924cda8f50279206c475a3ec10f6c750b629c4b8fb07de81ae79998e539febb50159f01c607f193d8fa4e71681549727daba31366f3f10e5cfc86150459761aad1f32edd4e18903eb7b3f0e615d4de08e7818680d01a852a99d2bab0cacd3c4809a0eedf5ec148298d5f1db60e71baec0a97a9162709a32f3e49dab39c4d756124f6c4cc71b11ca1ccdc049964bc8e870efe0eea26d652aa55a9e40f185102cdfa76379ae85225bb1579f21fc51c19694df6ad8bb4677224ac2d93d2cf5020a018c0b7ad89e35d3c5c7830fdc63de06c73ea78c76a4061f5b5c68409bb7d896bac5982e6941b92ca21b2dd39f79ad3fb4da1181381b7e09a45bda65515d9f94396d77be2e336caf09a30d87013eb3456f4464c0800e64248de6b3f7e75c20ddf0a718816d471326a34e29fbeea81f28279b9eefdb6195834dcfad72b5da0a614a2245196e71a6897799ce169d9d4940f69342e6119b84e56aa77739f6786c0463b5c0e4ef14eddf291f889c06664ddb7356853be1fd13c0a927c5764a753480e1bb1f39df3a1fcb22f47a64eae521b2aed2ade83ff62b17157551eadbcdc491df41bb9cfa2ebc7b5266f8d717b2581c4950c9ae4abd09593d196a17a7d0c6b79dff77705161ffa5332492864df7992b35f97c7331b7649149f3c21a51423281127c0c539ea6bb5a17cb61b43b3f3068b716d0256eb71c5336e56ddfa69f9e1c76eb04ca517731c3075694033ef4c0157e1b12cf7dd2e98d589f480825124ae95bbf2ae69a927aea518db2e06e10e54bf01ec39f63f9ad340f8cbefa844df1e72f6959fc2a78563296c9a0f1c4fda39683ba4f083c9190bd4fe96d689492924670850b1cf1d098e0670211e370da5ca1e5a0cd0b10cd22b2d97958b62f15dd99b2d80d654e49ac2933c8072e2c9ea759a6636c5d5ea60df3b79ccc03fb55f22c20e8d1d8f0b9a0d72464b4e42d78e83eb3c87c554828ffa14df2f9950227d402a55e70c3172aa5953b5afc926c058fc9941ed35994f6ac3faf33a7f86a1f307f2f032bc9260b7005c9a3e996600207b6448550fd710361e7550315cc363e26f5d87c1e3cf8db01541202dbc3414166520df5db2a1a3bff4f50f114fbd6216fbbb355a568d8deb13898cd6f3a179afc617ec5478676253726779d5649b2b3f7333f1c8aeefd00e7811c6fb23b2b18fa9a69c7cb21e6cda871d6e7f8672a376efe46be21d1d243460688d8e1b5bf56a551a857b740d8977b13fa8b9de277c07f3f11354916c55c7c55a9fe92d44a5ef6d79adadacd64078b9737ac9420bd6437723046c259b40c914ae5eafa5307d2e5bdc717db9e6388f4b5a19bc89f171c8291d920bdecd48aed1e34c8b9e48ae72d5167d192b8102eccc287cf0965248174132115367b1525ebb4317495da6dcdd762174824e1aacdf6ac23cde0d8266a351fd3da69f2b12fe75e27200c479491720309106d4ad8fc185bd23dae5110a50f85f35642fd69b90cc2fbf923d5e5d4d9e799762b268adc50ef9375cbd66b3f28213102788cd6a53b98cc82698a96c9588636bd7bccb30a79dd45ee32594333cf2b9d059553480597048573901bf0e9bb495a7215d047743f63ab09a7fae2ee227b720c0402af03ce2d692c640fa99f73ab2c1dae43468790cef3a6e70452a8cf0bbbfc5cefc420fc789f8174de1de3f394b1107c71389b8b1f548e8a44af800c7fdd9eae0d9b91b3ed2a5958281b7f777d16f0a8a546c44a5afcb4c57bd23fe1850dd580e30c6b86e2ccf8c9ee9b2da2b473cc3466b23467cb770f5bfdf922225dfcc67fb90b7c129c225435f941d5da67b1005face23f59f2a2588050041ead65d14fdb344b9c61b62520e75aee797276b3a3e696ea9409fb033afcef1580e8a63cc7e81897289700024bfa96f11527dd443e050eb20fc0a4b50719b83c2bf4524586e6362447e1c904028583a6921f36164a3df1a29b2576f7a9ce7c40e4649a8b07f49474a1cde08b9b02d9c6114df1babb0063170b9e4cdd099d89500ec2f35f712afddea41cc9ad9dae52b28b911467a7d3e87de4344572f24088407d880eb8a335e9d15274504af91efb5d9d5dd177af2636e15c5bdf64e3763c5763a899f3200ca7ce72f03565ac387b9b5bb8f98afcbf94fdb80ae0720abffde1162a5df29ca5f22409fe97f127dc0fb4a6e6977aca18f0d7971e832afe2a4a7c64b89d2251e72bcc39780a97525f4ea6c15bac5f1fc6856bd93966d6427f7e2d738642e66cbd69806ef26a043c9846d576400df8a34984ffe9ca800e0f62cb1a1692a51a836393526c2375877791218636f50a821f35da2d4934f5a7978190995792d13f19ad1d701e1413556ac74807eeec2b078850e8659aee5d28e5b289c030aca17d87339747aa4f4e5f976aaf019e47bec71d95a38c2492aadd6fa04b6ab8a21681553bb42145a05af56df58e03c7030d4cbca913f85dfa2fec2c0507c6c54bad94428387968691f3d8108a935255e7848b089525f8e298cca2d5726ca873311b34c901f05d4be4cf55d53b4a29b5c9580377a6c970645480269f8bbb41a5a110a00232d09d86361230b166eac474763cb30a11aa540723413bd6dbc883119e9400b81bf8f055bfe0abcd931f137d5b857db7458b642107a6a06c9dcaf7ab9eff86a5850bc0d03f69aca7f545e46203108fa74ed1647ce9ce209414c33fe5ffed8a995105de3212d8aa14f32611223f9bc485195493378a594065ba48e257d6149604041ff899662f15838f0e2c75569a89d06db43c1b0e122ca9ee8469aeece40d566eb4a4952359b042ad60397b6089cdd20e701d22ab1a4267f4eb872c33b62f6735914a2d382e22a805db2a6788435045944bc5dcf7b6167870ea5b503e987c28a123017885cb559260ee3761a919d859d392a4a906037b2163991cdbd5145b22cd4b691d107fc23a7145a5c6107695e8c3b349d99f593e4f528a92a9e07f15fb98a4b95f1a4a215f4eccdc6189a70e3b3eed4127ddaa739ed7b731ea8f8f37a47d96935e857bc61c707c058bcecf42152f8c479554b87384d9720124ed6d8e5b0dceddde11866f0e9ed4733bf660127eef793049ab61b1db6f159c8598179110c75c93f7cc9d6a14fed717523691d2a21832cc445d0efbaaf9d26aa02b7a080d06e0d9888b86bd8d9ed04a5e40940c19786d93b461b919b8127823bd43f35443a23458902961d3829ea5ee041d4e4714a28792a5d66ff509762c5841f7059200e33f31910e697051027fd3c282da2a63d2b9172d98519bce16a98dbe3ee5bc00129afaeffeca02c9f3c97b711b2de47a431f764d8ac4789a10a7deb2f2b592fdb43a3d77b501935a9553a3a53dca5182c67214de63369a86e73832fd3ec4fb8b63539fb84f45862157567043490a3262d4c558076297575b32d75ac232cd389a0d23fb8312bdcfc608f667b5e88e1850914305488b81be26a8c44e4b91d0b2467b95b8de10ad8969d7742df6c4d6f4218e607ca8532b4976adf86371a3f63786d7cd296069da6ee9beab4a2c073a5048b06621f608da5af294028d0df4c9bc471615a9f754f494547b6b6b4ea422131b11a25b9607c7cc3a0755797faa3f121a4254cc400953fabe580d570239b897c0c9fa927c91df63b95d5ee3362bf3f4230239bdd2d45da2332ee7fb0eb626b64e97f06d250d2ae0250b217696022fd197b16b7ddbf4ee7b690feccbec42d249db15d095fed1961935f5aa1ee4ee263114a3580cd3453357879f6e9932d5ff83ca8c6555ff28d3d6e9a9a74d1ae7065f4a959b9f807614208532452b9c3668accf367d0dd3506d82e5f2c26092dd7d011f7b2e05fbb279334e23cd916f72778c209bc285960b47065ecbb9f190f948a307cb20ef580c9e7417152c67ce002167aa1ff3009d6d03c3b7ad8e7af319dcfffc065c3b6fb0f6a896ba637cf88755a909d6537d233a5fdea80594def692bfcd6aa68443de0b09748b30ebcd99e095951f5cfa26892ea546cc2bb6be6a7477f921d89e893253c080449908963398e29fcc0d62fb34be76ab0b32e44ad3a61869bf9e64b1b88760099a3bec5afe80f8d69dbd6849b15c3937938ab1af449d0b2614f6f0141b58a4de37f56824b27d345a08fa071f331bca55475fa17ab74ea60fcb244f23b16ab72249e5a8561650cc39f6a0c11dca5d5f0cde6674bcc3c668d961f125d057145464c40d7723b28b83198190114201f948f27fe0d7e5a0dae2c3cf37bb16672b6dbda0c93d96a99c9531ef8a4a34b51f818eeda6f46fa6e6254a301460eb4942259f70bca669689a35f367da5b5ab3fbc644edf9dceb4c6bf5a5e88e80d58b76a1e31be94c4aa4f6cc88682ef13369b38faa05543b59581c694e2d1a6e4318e4d0e2f63ea21be960e8e1a4ae31453d09533090a3ef676cc42e36c5e49d5352fad65aba53de4ae54af4e80cd85e808803be31ec146914a841d0316de61227a9ffacf74c9814a156b4a005e3d0d38b55fe91b09131bedce55d52face5233e94588918af283a491c5545581573b266ce62d2af0247f11d35201927ec52f1f9fca0a09b3ab3570bab36eb3294fc3c85f24c5e3d9a09ba347e817b36cbf8038cc7586dbb68efed4c84c8602aac857cb871eb76241ce3f97cc2425935b8fba60c2ec72b7075d4982f8d9c8ac9799622c6606742c41e02cba13fe251a426d9480862841601d5072a8bfe7043cc53cad64f595b276ea6c3fbaba611127a3a9745d2efed95e77c223b7f08b6d37670f48e1ad851727b1a106086665c7054b2fe624dc456a0197d8186e0b6517e95d952ea2ae290a23fac87cf1e2244430a62f673254171540316549acd3a918232f93c256205f30a4487c7178cfe2e098b8784c45a6ac945a6267cbf8dca30d965dba85da3dac6092f41db1ce92b8bf24e75c6e0d3a5355315d63235e3534129bbf32004f21e3cbdafd69d6669d29a9987e7db59e9649dd8e7e4be4794b35e389b07cb832a8fddfa97c29a8a9119d9fce3ad6fa1900bf21df8b85bfd8e39abd42f8b86a5e18ad97a7a86cece20417c3a9c9b2c0bf71ceb58c5db9b7c411533fa7d34d15f768ad81f7d418150228c7a7d4555b49047dc88b589a18e5ca1c1771ea2b9339cd083f74c54e0e97b846bd5635fc1e910901666b8a084d9fc87977781be495ca425f343e0580d66a6f319dc57c391c2c30821e48f930b48d33f8492191cf3eeb5d59fce141adf71d873c0bb1c7d18c3176de5a8e5d567a6f7654e211ce188cb9707ffca3e2735f24f2c292b482ec2d6fd7ba6250e46dd9237ebcb9ef3cdfae0a402f360b5e69d3e60b597c4ec7823e97c5771dbfc90f052a24db3ee5d83b1712b8975a6b931d843ecfcf0b3f8ca69b447baa2635acafc10004282f6991497341da2a79954382834f19b7c687b74a12f2888b5e55f99eac0fb2d11dcac49e5364f8862fd074a5ea8628afae0b08daf944aa8f7bcc2e6ee794ed3b7518afcf5698dd23ec6fc759e563bf4d4ea8885bcda71d78b0fb4a32cda7bb4b3516ed0a484c4fb4dd953fec84de3ccf3d3583ea78a722ddc4a780180cbef6796cc47a82d2fe4760e2b8a4be635986085deabb7c4c9cfd071ef97d177982b57f776f1fad20280ccf18ebeb7c8996c3d3899eb80e1fa214e972dddeafefc54053f8188d748fe317c2b283c8f1b662fb2161d5e87ab25f2535cc2e1fbdf0393480562ace18e491c5b81dd465e854a677b7e993e7bd66437be6e17312b59ffdda7d1b30f6ce529ae5b1f4f255ada7e7b989090e066c2cb6d4c12597ef5cf01155a0625a8b48624f4daf4d73fa0fe03d947afcb3dbde5b5d90d58f1e1a5c9fcf657396af1f377170cec1094995511cc40904f67199fd133a55c93abdc04a2b5f633d03dcc637178f24eef635bfaf3dd9df4a678702600535b11b89bdbc1b32bd63318e6fdc8cf8b5257df078800b4b3e69a9d759caa7c4000086e40855815f2bdabd297ef4b98065e4fea5e396ec02c88baaceee0212b0a4e33c36a97d7b27693162213baa867404a97c14fa9abbe696dbaa0f0f933524305789205df30bdb005d56156663e51460dcb6e9e050c5eae2687fa4f6a864a47672db3b4717d951042efa1c4cecdac709f42bd5e9e1240004a2eaaa9cec518c474bb84ae11bf5817f6a1708095156246bcc09885c8e2746e9bd2cd4816050001841859d181570c7d30915fdb96581b45185c7a2309b5dd1f56d086e6e263207925f41927e4133a6727e5b0538336cfe50b1a9d0b2c2236833459b51231be2022936d3ae76703eb62d2c1e7b35ebe25315b5314407d4e752ef30dff82c67094e714c5b346b8a0386b65113e1b40a037219c786f14656789b941d28c5a580b75bf031da567244af55fcbbc1e96535101144bc4188792d26b6e15ded8b70e70b78052e559e144222577238f1419b60e81db8b51846054edb653f61a6aa7b2a696c152dacfbb9b98294c37d188b1587368e2b274a7422c8ab81281f5dcfdaf8dcf43d949e762102c7decc56fe52b069e4b31640c0e4610611ef1e2d36ff73af89f3898bfac1eefa802195407eb91a6b141b1685921193548a31b550af34c6a24b8848b9b796868ab335fea8c568f2f4bdd1a59860eb5008f8020a15edc02943223c34979b7f0bae89658c5731aa03699909f49b7a8e94d8f3c0f58bc7022ef742828b1d67f7014e5ea7652904f4ad388905370f298cbe8a308f3d7d53ca8fed05f6c91e60a57f94ce9a84e39c490565ea5721a3a96b11225dc7e38c68542095d916ad977e7ec5c59b15c8ff747d7d6644252f884aedf29158fbf653df67e9d75321cbe41ab4b982f3e880a0aa3cff5d10bf15bffcdfd4e1ca46d287e58018afd3219ceb8b27c891ce02baa1ab7588f596cf3649a4a3624abb22408cb11d79087bef732734eb10ae920e7b4a6493afb4175a76762f7c693eb9dce8c090da2d9fce241538ff18f841c9143fc7f4bda1b2b0e91a8429b3d87f304e9996c5244ff0f73e7087fe70007a522738a33eb665e20ac7581d5498181cfcb3f0907a9e1c44b34f36c06ba895bdfbcc82948d245d03258a7015c5ce4aaf7712b04fba8b9b566db23820e0f6be6eda970205083ba2cdf3ec85f59cf7cb57eac6c7a4fbe9b78c9ba1baba5962878ac89afc1c8f5c94be78aa5d8f8a5d108c4a4a22d5bfbfb3288e4833580821ac03118e97767a3ff9720f3d639485aa7cfaac0d17ecbf23526d9de0a33719052ad746c57a9037a28f49fb41f58b772fa316b6374a19be76e7adb80d06ed54a8f687bc6acfa4d5b05a90cca9b9a3b860720ded82e357552923c1556a12d771e06608e9d5466b8ee883191d84442ec82fffe76d7670f4d324a7293c375a83f92f59f1686493cf81d612d46b88fe81408b5e1eda4191fca3835fb80f465dccb05f35d0f9e995067121b004ff07f3c5784b16ce67eaf257502590922b8cd73b97f390a94b089dfed2e44bf2428138ab15925982f190171ddc5d88209b526a816cad7b3fa167d04d3e50d9952174f00a0050e86a8db0a2741d991a7b61ae62d35e743856c0d9b03c0819ca911e49e7f72d28abdc7bf9184f985500a090869e4ac3cf023008dc231b6a163e61ff42ef76f1d0e67ec7812cfe6e61d223b6c6df1f6f358174d6da2111ef8144f4de6c84dc5e11c3dd3f109c923e9cae159789a185efdb8af0b8b37f676ad0a1ad2b100fa98a64e153e49817fa1e22b5dcef8b9cc9d98385bec11983f27dcc501398d590e42c8f66f147e15841a03a311c2458c468657ad96f9bb52806edc9644b89f92cfefefb832e6529de52cc0d032191d4a4484bf91b981c0995f8b84d9d1f62562e2469b700ad91146e93c8b404776d3380c4501da86634b013644e7f23367e1c2d0c8a4eb8e69604a5bb28d2c06b73a84149c8d863ed074d2b76a22f7faf465dfe766664964f40606aa97a2494c17b48f607782b9e117017623012665ae5d1ae840a3c71f68e21b9e6fb54e496baf6533e571a928da524d5d501335e47dff6e00d45c24ec9ac6421c94c42bcfc6c99f1d92719b986aed58826b68e6738f2a06af0dda8d0afd158eb7deda4019515fc893b1dc7997b658c009fa2db7c29b25831134c47c880b148a6d4f5905304fd789c105150e098fc2cfecf08c5438046e7db6093d45df2acf83bda46f6e4204541d4717a8e249c08c8fdab4232312ec879890485a3f800c9e7a21dd5fa2e90a12a1ada12e9047965b2e2496edc782a2502caf964ad1e232c42496bb54432264ace735c7e73f6830aee0201cbd3dd3ab9698124e0198f2dd4c02320b516a74a8e9223ed0cb4829707f0486398f5586b42fef97acd049e6ded5b6f4314855a496449414db8a1b1337a952f15ac74c2ec727a2d062863f7a33f05ba614a2fbdffba516641bb62b8dd2ce347385c7ac178323b67c6300d551a6b82ac19ef7d505571208a22f6a9c5e71776c924d0bfab69d6997b2abd2a91589d1669c9db6876614555241bf443a31be1b788c8ef61b8e84b3d47b8197957c733e76e78d49ab4075084082e468c0fc50494869d4cf1601bb978e02373e496de59bee43a4de70f8b201678a182154f5fc5705eb19287c875811bf48feae6d1ff5cad3daeb5474500f3a7c0619b3253f07176d1433f1d01aa4c03d923e186a33d7e9e15d9836d7a407fb5978658b989d008c81e7f54f332f2a42d4ad2115c8eaad7d007a0e358fa24ce8c9a1bd530e8fc1eca07393a178f923e5fecaf97b8efaa778f2ddb8c135971f4d2c30811cf50ee0ad46b08bf48d1641adc13098025c1e2d4cf1ac14656966358a12ed7b71bd9c46a4f6f0f1fc190cddcd69b2f26baa9c5274c4381ee9a1aab9175965b54f8ab5de00d044402eb2c6250c0c14cfe5b68f20fe8664494fc611ecd86f0de107577e7db19eb2bd779247af2d7267e7eb46bea63d2bc82741e288ede9fbebd9393a62ef24e4bea829e7b8cefbe266e1334174b1422a6f6aa81b8f9ea6af009d9e883fda572976afe7639a8bcf86b473f093dd46a729cdb9e89e80ae5c81cc04deeaa5596e99b5e419c9697280bc666c0c657888d0926d887c62632f13b0c1379779948448f879a41c26057f1f9d2b9ccffda410d4c18eee719837fe5f918c08b917fc61e99428bd36baf5d176769199566a414a95274f2627fccebcec5e5b045a173ea4546932defa7207c7630a1728aaaa64f61103964323b34f7de29b126da92fbf329fe69e036f8d5bea9e75d45a93e36b38bdf0bc01ed530f4d6f45d7694a2f73b30abf4639473c776922b159cbd1a2ca552bc6e5f1995160d20a978b84eba63d83f0623d6bc591162ddf8c407752a06a2cc364ed2abd75225eb87ef06044e66a7d962aacee0624d728a47a9c2d953f4d4e0f6e0f58e6b8afa993cbb25f1f6c2a226a35a21d1101680149f915d92095abd7f89edf95fa42249ffbabc19e788705457fc206fbc9a282daecbd36432d40435cc6ab5e2cf3ed3b4031b2264e348a8ff9021a55f8b8bdeb9376af22cdd85ace7ec494df699a680fe94b051336ae80f775f6424ad04b428d4dd64c41d571c5037406f367022fa912c96e683a2bb920656a73590c5b4ebcc100c48537eea816009798962bcca4eae81ba567da61d39d3d1ee5c6b48b29d257772ec3b2d550380027309e6e9c2464c068a97a263df3716b221e32bb79945c43b5a3fe5f10457e37a98ec16e75e02324c558b02ddc1307bba9c3d11ebee10d11d4443eb9ba2782743aa5ea3c2388c3b018e3f4e75931be87508d502f05b80543584e577fa032ccd77af446707645e75d136a3e7c14d5266e29d95b44c03d6217b01d2be84eb6124477b6c0c24df37fd0f69f118161f5a93d4e3bb7ecfae961274116fc6cb765e004b033fc0af77d04515eebf3083e6d7f2543031d256e7f025b8a9af28fbeb3e0512506516c873ba1136e2c5ac09a850d18493a71736700a4b633684505e150715e8ebd04fbce5b1520b3d5d1e6a0e532fd7096ded1ae6e6a20037176e40f867f1c9e5c05451dac327c5f959edff29465b05de641a2a64ce2fee2ec431d6514c8857403322bd8e3c1ebc2c083ccb20f89a0057b0cf782c995f6b687ae1fa704259fee9d3570e7a04e7cca7a85588c9eda4b38a0db22a4a70d355c07b359d9f8479ebc2b3fa0953cb142cd9a903b9d7f3f14c79dd5b4f3be35b810c0787f4a7e9cd82dea9f2abdf0b01eb23bfaa4ddef1130f6d363335b6a49879ddb90671166734ed0eac54f4e4deeea95551c933d5b4f2c7c89e8082553f0938dce2cad9aebf48caade1c6624159eaf0d7f8b1acabcbb63779ae9fa59ba000ea4dceda90738bb090bb7d44c948a2d707bef7554b259b42f8db76bf89bf3074345a46da6b1a730e80bf92359ae06bdbe58aa54cb5a23838bf47a274e429042cc143fea53617dcd5b2c3f20c727d0603d63d90ecd25d69c79fec700b7cf0833f2b4e7f0f191bba5d6d55d7a8e02c2049c6e6356d6af82953df167916081e778440c2e1e44de2ce303e7f88747f3dfa1bb12c6217e1372bac6a7847a9c9724141947fb2ff8d98b865f743b88b9b2fafa5441a340e2681578dd82035245d88256fe6bf240d95132c3ad88e1d59032ac20b16d228c093e318ab810136831dd5523dcb239bf3e7b7942d1b5c80cd87c633c41aa9d31768bed61ddb570f18083728ffc68ff31200db3691459ec2fce19afe289d79bb4b528538664929ffe7360ce15fd68326723c199a66176741410110b070e8cbd83fa65b71f3fe1875121270e76ad3351df5d8394259361c7f4806b0734d6b41720c90466a7db9cf03a11db3981de302af72ee79ad09fc3ff9ef280eeb95d90b933eb07f5c9075b2f4c87a5f7e839f4c8c1801dd2bfaa4b83b68891f83511abfe0a85ca6bd0e4016726daa55422cae5b8db6f5aeda5bf96aa307f26bcf91c002a1c90d5eed3eba0301ec27f3e2e8a5e4651a162f1101ebc445bf51324784f5c293e9ca0170deace78aca566aad6162b270b3531cbd708307d04493205f2a92f689e64e2f75a2dd0ce9b4fc83db0df15044b4ebf892b02666c742393f65511484d91fb46ca02c1a8373a629eb47ac275577ef4cf8c5b53dcee592c3d8ad9ac97b8d3763fb01e557b640747707141d980860aeba9af2a124cc7a797298f9bc63d7bd6780520a601ea86621e60ea2fd694d09b409361051043c867afb1dce9b3dd734bbd669604b0b308540d86b92d9129820354cc19fe7bcce8911f4b7e0161fe5d00c479c7feceaf2dade31a835175d4dda3f008747ed5f0850ff712e13ef0be480a13ba073b6383d8a378bd2c336b5c16cbc7c7df30397f4ce439f494709c4e8ae5d289ca19e08062ffdad2d3f89f71eff331bbe3a9d029dd7386a6702bebd4206dd8a630ac1c91a36d2232c9c596e06e0043e23ab687dfc73b505ed8d7362ef84cbfc6987c2b6ce6c76ebf9f3739392d2f6dcab4f974ad8a3f2df1b5be1beb3a102c9fbf34acb0325bc74a9f71d9f7bf41606b749c5370348fbed532da59e882dc4e1c7732528224562cb7e8594e3e6c6186a626e10bf598ccbbbc8ad2ce6081d128699a14a78631d979b9d2d2b42b138208c54b1c3184081f75c5008135df8d0b53ed4d9a00c8a6736a61e2f87a58cce8d586ac9736664fba4fb8d239193348f6009012471369c239686b690cde0ce9c304a973c08c6afdbbd869ccdea56a1d87d587b45fbb43f19dfa9b65da4bbd214e2f834d1b94889b32a80b6866753e73a891bfd6d1184eb93de1aac7ad585ac0479fe9dbb8ebd02651f2ec841064f6a77b95791fa2fc1597e01c1aeaf8efe6eec73a3b5212224ff9e814cf1cf412926d9e74e0bcdf9b097747165c73fe643e818884f4ee23c9ee32c58de5e377e688cb67302e5ac39e301555bd85c4643247af11ee217cf55615559e3aa8b272bf715ee029ea7db9200e7f69fa9232e7e6a80d44f825d19bf38849b4ce9c4b90ee9680caf5fcf71de0b500de54a841899bdfc408bedfb54b171179db01dc93dddda3b4178b9b218fd1516a8185de0384cb15ecde31f26ad605196868f1c4df216fb8b053f31e7b7af588edacbd0454ee3beda10da0795f1c458fee6f23d2f9c7133f59faf21963f2080cec48a4c78b0730a4e57ac7deac99f9b4071a8c98e495a655927f3b5e19e8e8d07e402b1875fdeccbc2154b3bceca94ab899518737d6f0cc7b403ac025897c9d636fbd216498ddd4f304b532ca83a9863fad264604b896e9d74fdb5ff2b90bc308985ca9b4b9cbd3d57e4413ee971b834fefd0a5ffa830c7556acbdcd28f4418dcc663e6cab416ecd027884db67d91c8265001b3ef42e505d9520c9d31d8965e77ef4c91ffa21fecc224643c030f0332a10476a5ac93e99b924a7662d8b6823a9e966728a6df74fe7990ab45a33d168c2c2c1f0a0caeeadd83a18d3e1a8f7f549c889d632d0522b74d61cd8fc65eb0d7de4db97bad3245c18eadd2402c82be56ff1f862fb84393d67370fc0e4c0ba05cc90ccb22411a3a1440d15b5020dd3193bad6c07f374a0f8533946fb0c245731658534a1d1a726e4afd28832a14a15f21f67af3b134af7dbc630b2ba6d1ecc6e43840a8fb32e08956fdaf00e1837c42148527280b2dcf139f9542cd44f0d7ade6c754e343cd25be6ec7d062120a7987bc8c5c5cec691c004442d1b1c918da4b5ae69424ea1b4034a6cae4661278300c499e5bf132a814e6144c9a0d89460c0f86949858bcfb2a97de14070f332f460104e13bc0f739fb62c7046a57d85a3b575f464f018171e633592d1a93e6617a29c59e6e17fd2c0648607b0c0d0a47beda89948ca6aef25157c03ac09a00556db3c8f4b418a150681fdf0dbb695f430b7ac7888fcf8062e6d5b43a560dac3a4d01ccebaf14c9d3a3b3f255a5b2d4699ce73a1e49e78a473c2efb9e8a2c04751591fa2c94cf8178f2c1b21ac31680556ffe6efda3f24db224c1d42f710065fd7499495054eba238c44134ce29cc83a5e9f32f4aa1bb67e6352cc4d2ef1133cc318dee1b7d6cc0e1171a5ce6c77f34d1da00b4ff46bd98cbb874ca3487ad21ebacec176cafe1b7271b9365cde6d3596a3a9ac4535a651b89367d339e127c9cc54e2c4ad74c70afcbb493a5be04f0f44e63cbf1203f86377f4b03755acc9104d311039b758ef92af2b53107f9652d77d299ad21a7d74f7f04634795412859c1730bfd71f446e1ea58344ed7689aa8f84f8ef9ed98a2f5674f04d5fe3ea756923f90e6454619913ded598dcc00ab1d9edd5f9e176a57f2be6fa1957b43ae9f92882cdf4c153e9538259b944e7cdde525d066fff5011173efac98085003c827b3a0c4dbdb9d68818207e61d2f12039f0dd3d2040396dbe246c3aa95cc13a3dec8e98f80f7d27553aadc98aa64f966a8f2156b68d1465d457942e2603de96d698e6eb73281ca49f6a6314a0f7fea9781de697de46bcecf88c78215a58865754b4b1b0ba529d9278f0abb478462d445a1335556b98bcecc5a7c0400236110ec2278a3f5db26a28d8960e0b8ecafe344c87aa098131f7ee48995d200e857f5f61b2c09554ba9869e1865314314e529a0681837cd3614c20da7b962564b4391e0125651230334d0243532b70f06b04437c21968d7aac6d56660c467791e0c8d1689fcdfae52aab6194a7d69c83fc652db08fa216a132c2caa37fafbbe8c19511b45467b84eb9ab39c4b79777d0bb953f0fcaec1d400eed5915b3154f23272b8c3b28f9538dfc1a08c092264cb387da9b302b85d0d078db6e949baa496b750c68d7a0c6ca4e9d9bc9d08521d5909bf3e83bd5e7bfe8ce2ee37a39f98c5f45f5816ac089df7571acb7080fc9c757ddfbd806cd0db138b2200d7cfa8be9473a22f1a53bec6fc0d8ef16a6d081c2fe07078b5d4ff66abe30ef2e55586f032d5a2c5c30b1bb628e526ef21dd27eb1c6593ba1fb6744dc606addaee5199ad7ec7ad23b44caffe67526dcbbce44ca664b336f45c2d8a8904c2b8cfff9480514af33542668f99c6b4ff0d9de2247001e2c8c404ff118318cfbbdc548b55804d669b778ee65f59d8d05e67025ffd7cf20b7848b3eeb7f1a367ddf43d91adc2714d0788144284fb8593fda5bf78be15a014659949a09b07451c65eb1e0c7f9a2d03f0caf40607788ce41d6385f2a6d41655d67a694334a76045f0d16dda0827006f1a9e270c2caa1f0f0407df9ee3c8f2a571b06402a910044fbaf81b1a3546b0b5e14141c9283fe415af2ecce33e02d33c485dbb42106dcd2ac0b8f0e5fdd74f369cf99789d6f900fc54ffed63242597055c4d5290826ba11c89dca6578a7e807ac395bc2cc2126faa6c058f42d980a885efad96ee9d0ad87073992ad6e5cdf0bb9b943a167c471dfbf97c15bda48ab39e6813fda0f0b60e4b8b33518ade5cacdc33e826c01cfd7dc37676718c462f31f1f22cdb9c0383fee933a1545d9f8aac9746f7c9e6f0eeed36fdc44e661bf69f9a4519edd00ac5eef210e4bafcd03b106a4c23f8c19508bb609b39b7925b6acf2ac6688abf19fd07f0f2242ccc6319e50d8a5d7e1af1c7142547f9f74632293682a25a886662996b10e17b788b0345deb9084f7b7fd9cf24de5ba26a06b6785c76bd11032f180818df8a7ce13fdaa6c7522a03298a8df2e27e9c83030cc1e44c78387bd6884a33eb0691750236830f87d512046c6a4fb9495dfbfddfbdde4c81cef873863bbe867741c8bfd8de2ba44f1f3a76997e6920ccac3eed04f46da4d151783938d462eaa5d7ee707540589e4acd231e9ce9768bebbc84a2b101de03da87f5ed61f65b22b7c5790b907c486b815daaf01867006c7e268886771ee68e1bf1f312540c284a4c59ad01eff5eb1c601bd574417322e158f9e8b264cb44e58b185924d8d87fd990acc81e2357ced2c696cec357182b18de8cc96543e6ccb3f92fdb5787769038f80f3a54014a830cda1ddeda5040b956e8ee8c0dfcbe58ec6349d1b9623f763455a3f82f28b44db610a42a7cb8a59c49409189ff64322a4b20a0a60a74e5ead773b40b61d4eccf735ad83ee836e2e90d196affe25586294ba8a67d219cae1ff5e26f3910ee31046a1fa0a4b16273b7307d922b24d4bcb594ceab3f3268f9585c868df09eec3f40b0248752f1a4370cd7b7927aa86d24dcef115cf99bb6b0750ed7188ced456c3aa3a57e1b3fbb71011f3dbbe6aa9f61edfcedc2bfd62225295e3eac9e4c8ad6a5b38d8e1f1ddd95ff36e8d891ea0a83b7a2d1c5565b1433fc6641655c23cfe4413854140689a22d78423307967edc78576a313bda5718e4e54a18f5709871c402846f239d04504c2d16c5b902177b02eb2cb1b3a2afa6b6bc69222a806d5b476eb3405dfead4e8fb1f2626116448239e39ff311c91da75c0cc096c95916435d107beaeb5d587afb9794ba17bdab237b2f02bce26e3b7212e15f19bdf0a4c0557aeb88d633adfd631d6667afb87e5314c2a49c4f309b92734bb3f6cc56b2def97f474868e38a532c9e7260a4271ea566321a399d7934366431e8fffb3f01e602117f88380d8115b876800e8e4de0d31487e218babc84544a8c93e0ea4f8c973246</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">我的学号后7位</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/allenhugo/lib/hbe.js"></script><link href="/allenhugo/css/hbe.style.css" rel="stylesheet" type="text/css"></div><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div class="vcomment" id="vcomment"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="card-info-avatar is-center"><img class="avatar-img" src="https://pic3.zhimg.com/v2-96ea43b46c46cb31e7e39154bd77cad2_r.jpg" onerror="this.onerror=null;this.src='/allenhugo/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">Ryan</div><div class="author-info__description">Low Roar</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/allenhugo/archives/"><div class="headline">文章</div><div class="length-num">1</div></a></div><div class="card-info-data-item is-center"><a href="/allenhugo/tags/"><div class="headline">标签</div><div class="length-num">2</div></a></div><div class="card-info-data-item is-center"><a href="/allenhugo/categories/"><div class="headline">分类</div><div class="length-num">1</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/RyanLee1024"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content"></div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/allenhugo/2021/02/15/Longhu-traval/" title="龙湖公园"><img src="https://img-blog.csdnimg.cn/2021021620042425.jpg" onerror="this.onerror=null;this.src='/allenhugo/img/cover0.jpg'" alt="龙湖公园"/></a><div class="content"><a class="title" href="/allenhugo/2021/02/15/Longhu-traval/" title="龙湖公园">龙湖公园</a><time datetime="2021-02-16T02:05:24.000Z" title="发表于 2021-02-16 10:05:24">2021-02-16</time></div></div></div></div><div class="card-widget" id="card-newest-comments"><div class="item-headline"><i class="fas fa-bolt"></i><span>最新评论</span></div><div class="aside-list"><span>正在加载中...</span></div></div><div class="card-widget card-categories"><div class="item-headline">
            <i class="fas fa-folder-open"></i>
            <span>分类</span>
            
            </div>
            <ul class="card-category-list" id="aside-cat-list">
            <li class="card-category-list-item "><a class="card-category-list-link" href="/allenhugo/categories/%E6%97%85%E6%B8%B8/"><span class="card-category-list-name">旅游</span><span class="card-category-list-count">1</span></a></li>
            </ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/allenhugo/tags/%E5%B1%B1%E6%B0%B4/" style="font-size: 1.1em; color: #999">山水</a> <a href="/allenhugo/tags/%E9%83%91%E5%B7%9E/" style="font-size: 1.1em; color: #999">郑州</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/allenhugo/archives/2021/02/"><span class="card-archive-list-date">二月 2021</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">1</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2021-01-06T05:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2022-05-08T02:58:20.703Z"></div></div></div></div></div><div class="card-widget card-hitokoto"><div class="card-content"><div class="item-headline"><i class="fas fa-quote-left"></i><span>一言</span><div id="hitokoto">:D 获取中...</div><i id="hitofrom">:D 获取中...</i><script src="https://cdn.jsdelivr.net/npm/bluebird@3/js/browser/bluebird.min.js"></script><script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@2.0.3/fetch.min.js"></script><script>fetch('https://v1.hitokoto.cn')
  .then(function (res){
  return res.json();
})
.then(function (data) {
  var hitokoto = document.getElementById('hitokoto');
  hitokoto.innerText = data.hitokoto;
  var hitofrom = document.getElementById('hitofrom');
  hitofrom.innerText = "　　　　　——" + data.from + '';
})
.catch(function (err) {
  console.error(err);
})</script></div></div></div></div></main><footer id="footer" style="background: linear-gradient(to right, rgb(89, 2, 77), rgb(88,81,98));"><div id="footer-wrap"><div class="copyright">&copy;2021 - 2022 By Ryan</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/allenhugo/js/utils.js"></script><script src="/allenhugo/js/main.js"></script><div class="js-pjax"><script>function loadValine () {
  function initValine () {
    const valine = new Valine(Object.assign({
      el: '#vcomment',
      appId: '0bSC5wlLWBi6zASzPSWs3r2n-gzGzoHsz',
      appKey: 'cn09RBBIS0iTGR4frR3elmQ9',
      placeholder: '',
      avatar: 'monsterid',
      meta: 'nick,link'.split(','),
      pageSize: '10',
      lang: 'zh-CN',
      recordIP: true,
      serverURLs: 'https://0bsc5wll.lc-cn-n1-shared.com',
      emojiCDN: '',
      emojiMaps: "",
      enableQQ: true,
      path: window.location.pathname,
      requiredFields: ["nick,mail"],
      visitor: false
    }, null))
  }

  if (typeof Valine === 'function') initValine() 
  else getScript('https://cdn.jsdelivr.net/gh/HCLonely/Valine@latest/dist/Valine.min.js').then(initValine)
}

if ('Valine' === 'Valine' || !false) {
  if (false) btf.loadComment(document.getElementById('vcomment'),loadValine)
  else setTimeout(loadValine, 0)
} else {
  function loadOtherComment () {
    loadValine()
  }
}</script></div><script src="https://cdn.jsdelivr.net/npm/blueimp-md5@2.17.0/js/md5.min.js"></script><script>window.addEventListener('load', () => {
  const changeContent = (content) => {
    if (content === '') return content

    content = content.replace(/<img.*?src="(.*?)"?[^\>]+>/ig, '[图片]') // replace image link
    content = content.replace(/<a[^>]+?href=["']?([^"']+)["']?[^>]*>([^<]+)<\/a>/gi, '[链接]') // replace url
    content = content.replace(/<pre><code>.*?<\/pre>/gi, '[代码]') // replace code
    content = content.replace(/<[^>]+>/g,"") // remove html tag

    if (content.length > 150) {
      content = content.substring(0,150) + '...'
    }
    return content
  }

  const getIcon = (icon, mail) => {
    if (icon) return icon
    let defaultIcon = '?d=monsterid'
    let iconUrl = `https://gravatar.loli.net/avatar/${md5(mail.toLowerCase()) + defaultIcon}`
    return iconUrl
  }

  const generateHtml = array => {
    let result = ''

    if (array.length) {
      for (let i = 0; i < array.length; i++) {
        result += '<div class=\'aside-list-item\'>'

        if (true) {
          const name = 'src'
          result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
        }

        result += `<div class='content'>
        <a class='comment' href='${array[i].url}'>${array[i].content}</a>
        <div class='name'><span>${array[i].nick} / </span><time datetime="${array[i].date}">${btf.diffDate(array[i].date, true)}</time></div>
        </div></div>`
      }
    } else {
      result += '没有评论'
    }

    let $dom = document.querySelector('#card-newest-comments .aside-list')
    $dom.innerHTML= result
    window.lazyLoadInstance && window.lazyLoadInstance.update()
    window.pjax && window.pjax.refresh($dom)
  }

  const getComment = () => {
    const serverURL = 'https://0bsc5wll.lc-cn-n1-shared.com'

    var settings = {
      "method": "GET",
      "headers": {
        "X-LC-Id": '0bSC5wlLWBi6zASzPSWs3r2n-gzGzoHsz',
        "X-LC-Key": 'cn09RBBIS0iTGR4frR3elmQ9',
        "Content-Type": "application/json"
      },
    }

    fetch(`${serverURL}/1.1/classes/Comment?limit=6&order=-createdAt`,settings)
      .then(response => response.json())
      .then(data => {
        const valineArray = data.results.map(function (e) {
          return {
            'avatar': getIcon(e.QQAvatar, e.mail),
            'content': changeContent(e.comment),
            'nick': e.nick,
            'url': e.url + '#' + e.objectId,
            'date': e.updatedAt,
          }
        })
        saveToLocal.set('valine-newest-comments', JSON.stringify(valineArray), 10/(60*24))
        generateHtml(valineArray)
      }).catch(e => {
        const $dom = document.querySelector('#card-newest-comments .aside-list')
        $dom.innerHTML= "无法获取评论，请确认相关配置是否正确"
      }) 
  }

  const newestCommentInit = () => {
    if (document.querySelector('#card-newest-comments .aside-list')) {
      const data = saveToLocal.get('valine-newest-comments')
      if (data) {
        generateHtml(JSON.parse(data))
      } else {
        getComment()
      }
    }
  }

  newestCommentInit()
  document.addEventListener('pjax:complete', newestCommentInit)
})</script><script src="//lib.baomitu.com/jquery/3.5.1/jquery.min.js"></script><script src="https://myhkw.cn/api/player/1624551176110" id="myhk" key="1624551176110" m="1"></script><script src="https://cdn.jsdelivr.net/npm/pjax/pjax.min.js"></script><script>let pjaxSelectors = [
  'title',
  '#config-diff',
  '#body-wrap',
  '#rightside-config-hide',
  '#rightside-config-show',
  '.js-pjax'
]

if (false) {
  pjaxSelectors.unshift('meta[property="og:image"]', 'meta[property="og:title"]', 'meta[property="og:url"]')
}

var pjax = new Pjax({
  elements: 'a:not([target="_blank"])',
  selectors: pjaxSelectors,
  cacheBust: false,
  analytics: false,
  scrollRestoration: false
})

document.addEventListener('pjax:send', function () {

  // removeEventListener toc scroll 
  window.removeEventListener('scroll', window.tocScrollFn)

  typeof preloader === 'object' && preloader.initLoading()
  
  if (window.aplayers) {
    for (let i = 0; i < window.aplayers.length; i++) {
      if (!window.aplayers[i].options.fixed) {
        window.aplayers[i].destroy()
      }
    }
  }

  typeof typed === 'object' && typed.destroy()

  //reset readmode
  const $bodyClassList = document.body.classList
  $bodyClassList.contains('read-mode') && $bodyClassList.remove('read-mode')

})

document.addEventListener('pjax:complete', function () {
  window.refreshFn()

  document.querySelectorAll('script[data-pjax]').forEach(item => {
    const newScript = document.createElement('script')
    const content = item.text || item.textContent || item.innerHTML || ""
    Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value))
    newScript.appendChild(document.createTextNode(content))
    item.parentNode.replaceChild(newScript, item)
  })

  GLOBAL_CONFIG.islazyload && window.lazyLoadInstance.update()

  typeof chatBtnFn === 'function' && chatBtnFn()
  typeof panguInit === 'function' && panguInit()

  // google analytics
  typeof gtag === 'function' && gtag('config', '', {'page_path': window.location.pathname});

  // baidu analytics
  typeof _hmt === 'object' && _hmt.push(['_trackPageview',window.location.pathname]);

  typeof loadMeting === 'function' && document.getElementsByClassName('aplayer').length && loadMeting()

  // Analytics
  if (false) {
    MtaH5.pgv()
  }

  // prismjs
  typeof Prism === 'object' && Prism.highlightAll()

  typeof preloader === 'object' && preloader.endLoading()
})

document.addEventListener('pjax:error', (e) => {
  if (e.request.status === 404) {
    pjax.loadUrl('/404.html')
  }
})</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>